digg.png delicious.png blinkit.png furl.png
C++ How to Program, 4/e Table of Contents
8
Operator Overloading; String and Array Objects
546

8.1

Introduction

547

8.2

Fundamentals of Operator Overloading

548

8.3

Restrictions on Operator Overloading

549

8.4

Operator Functions as Class Members vs. as friend Functions

550

8.5

Overloading Stream-Insertion and Stream-Extraction Operators

552

8.6

Overloading Unary Operators

555

8.7

Overloading Binary Operators

555

8.8

Case Study: Array Class

556

8.9

Converting between Types

568

8.10

Case Study: String Class

569

8.11

Overloading ++ and --

581

8.12

Case Study: A Date Class

582

8.13

Standard Library Classes string and vector

588

9
Object-Oriented Programming: Inheritance
609

9.1

Introduction

610

9.2

Base Classes and Derived Classes

611

9.3

protected Members

614

9.4

Relationship between Base Classes and Derived Classes

614

9.5

Case Study: Three-Level Inheritance Hierarchy

637

9.6

Constructors and Destructors in Derived Classes

642

9.7

"Uses A" and "Knows A" Relationships

648

9.8

public, protected and private Inheritance

648

9.9

Software Engineering with Inheritance

649

9.10

[Optional Case Study] Thinking About Objects: Incorporating Inheritance into the Elevator Simulation

650

10
Object-Oriented Programming: Polymorphism
662

10.1

Introduction

663

10.2

Relationships Among Objects in an Inheritance Hierarchy

664

10.2.1

Invoking Base-Class Functions from Derived-Class Objects

665

10.2.2

Aiming Derived-Class Pointers at Base-Class Objects

670

10.2.3

Derived-Class Member-Function Calls via Base-Class Pointers

672

10.2.4

Virtual Functions

673

10.3

Polymorphism Examples

679

10.4

Type Fields and switch Structures

680

10.5

Abstract Classes

680

10.6

Case Study: Inheriting Interface and Implementation

682

10.7

Polymorphism, Virtual Functions and Dynamic Binding "Under the Hood"

695

10.8

Virtual Destructors

699

10.9

Case Study: Payroll System Using Polymorphism and Run-Time Type Information with dynamic_cast and typeid

11
Templates
718

11.1

Introduction

719

11.2

Function Templates

720

11.3

Overloading Function Templates

723

11.4

Class Templates

723

11.5

Class Templates and Nontype Parameters

730

11.6

Templates and Inheritance

731

11.7

Templates and Friends

731

11.8

Templates and static Members

732

 
Page 1 | 2 | 3 | 4 | 5 | 6 | 7