Secrects of Object Oriented Programming in C++

Chapter 1 Object Oriented Programming Approach

1.1      Historical Development of Computer Programming

1.2      Basic of Object Oriented Programming

1.3      Features of Object Oriented Programming

1.4      Popular Object Oriented Languages

1.5      Advantages of OOP

1.6      Disadvantages of OOP

1.7      Exercises

 

Chapter 2 Introduction to C++

2.1      The Need of C++

2.2      Features of C++

2.3      C++ Versus C

2.4      History of C++

2.5      Uses of C++

2.6      Exercises

 

Chapter 3 Constructs from ANSI C

3.1      C Program Structure

3.2      Equivalent Program in C++

3.3      Character Set and Tokens

3.4      Variable Declaration and Expression

3.5      Data Type

3.6      Type Conversion

3.7      Preprocessor Directives

3.8      Control structure

3.9      Functions

3.10    Array, Pointer and String

3.11    Structure and Unions

3.12    Enumeration

3.13    Arguments to main()

3.14    Pointer to Function

3.15    Exercises

 

Chapter 4 Enhancements in C++

4.1      C++ Program Structure

4.2      Commenting

4.3      Additional Keywords

4.4      New Headers

4.5      Namespace Scope

4.6      Variable Declarations

4.7      Additional Operators

4.8      Operator Keywords

4.9      Additional Data Types

4.10    The string Data Type

4.11    User Defined Constant const

4.12    Input/Output

4.13    Functions

4.14    Type Conversion and Promotion Rules in C++

4.15    Structure

4.16    Enumeration

4.17    Dynamic Memory Allocation

4.18    Restriction of goto

4.19    Exercises

 

Chapter 5 Objects and Classes

5.1      C++ Classes

5.2      Objects and the Member Access

5.3      Relation of Object, Class and Memory

5.4      Defining Member Function

5.5      Making Outer Function inline

5.6      C++ Objects as Physical Objects

5.7      C++ Objects as Data Types

5.8      Array as Data Member

5.9      Pointer as Data Member

5.10    Overloading Member Function

5.11    Constructor

5.12    Destructors

5.13    Class, Structure and Union

5.14    Object as Data Member

5.15    Object as Function Arguments

5.16    Returning Objects from Functions

5.17    Array of Objects

5.18    Pointer to Objects

5.19    Dynamic Memory Allocation for Objects and Object Array

5.20    Dynamic Constructors

5.21    this Pointer

5.22    static Data

5.23    static Function

5.24    Constant Data Member of a Class

5.25    Reference Data Member of a Class

5.26    Constant Member Functions and Constant Objects

5.27    Friend Function

5.28    Friend Classes

5.29    Pointer to a Class Member

5.30    Nested and Local Class

5.31    Workout Examples

5.32    Exercises

 

Chapter 6 Operator Overloading

6.1      Overloadable Operators

6.2      Syntax of Operator Overloading

6.3      Unary Operator Overloading

6.4      Binary Operator Overloading

6.5      Operator Overloading using Member Operator Functions

6.6      Operator Overloading using Non Member Function

6.7      Index Operator Overloading

6.8      new and delete Operator Overloading

6.9      Assignment Operator Overloading

6.10    Function Call Operator Overloading

6.11    Manipulating String using Operators

6.12    Data Conversion

6.13    Explicit Constructors

6.14    Points to Remember

6.15    Workout Examples

6.16    Exercises

 

Chapter 7 Inheritance

7.1      Base and Derived Class

7.2      protected Access Specifier

7.3      Derived Class Declaration

7.4      Member Function Overriding

7.5      Forms of Inheritance

7.6      Constructors in Derived Class

7.7      Destructor in Derived class

7.8      Extending Operator Overloading in Derived Class

7.9      Workout Examples

7.10    Exercises

 

Chapter 8 Virtual Functions

8.1      Pointer to Object Revisited

8.2      Need of Virtual Function

8.3      Pointer to Derived Class

8.4      Definition of Virtual Functions

8.5      Array of Pointers to Base Class

8.6      Pure Virtual functions and Abstract Class

8.7      Virtual Destructor

8.8      reinterpret_cast Operator

8.9      Run-Time Type Information

8.10    Workout Examples

8.11    Exercises

 

Chapter 9 Stream Computation

9.1      Input/Output Stream Class Hierarchy

9.2      Testing Stream Errors

9.3      Unformatted Input/Output

9.4      Formatted Input/Output

9.5      Stream Operator Overloading

9.6      File Input/Output with Streams

9.7      File Stream Class Hierarchy

9.8      ASCII and Binary Files

9.9      Operations on Files

9.10    Read/Write from File

9.11    File Access Pointers and their Manipulators

9.12    Sequential Access to File

9.13    Random Access to File

9.14    Testing Errors during File Operations

9.15    File Input/Output with Member Functions

9.16    String Streams

9.17    Workout Examples

9.18    Exercises

 

Chapter 10 Templates

10.1    Function Template

10.2    Overloading Function Template

10.3    Function Template with User Defined Arguments

10.4    Class Template

10.5    Derived Class Template

10.6    Workout Examples

10.7    Exercises

 

Chapter 11 Exception Handling

11.1    Error Handling

11.2    Basics of Exception Handling

11.3    Advantage over Conventional Error Handling

11.4    Exception Handling Mechanism

11.5    Rethrowing Exception

11.6    Multiple Handlers

11.7    Exception Class Hierarchy

11.8    Catching All Exceptions

11.9    Exception with Arguments

11.10 Exceptions Specification for Function

11.11 Exceptions in Constructors and Destructors

11.12 Handling Uncaught Exceptions

11.13 Handling Unexpected Exceptions

11.14 Standard Exception

11.15 Workout Examples

11.16 Exercises

 

Chapter 12 Standard Template Library

12.1    Components of STL

12.2    Container

12.3    Iterators

12.4    Specialized Iterators

12.5    Algorithms

12.6    Functions Objects

12.7    Exercises

 

Chapter 13 Graphical Programming with C

13.1    Windows Programming

13.2    XWindows Programming

13.3    Open Source Library

13.4    Exercises

 

Chapter 14 Object Oriented System Development

14.1    Object Oriented Software Engineering

14.2    CRC Card

14.3    UML

14.4    Coad and Yourdon Object-Oriented Analysis

14.5    Booch’s Object Oriented Design

14.6    Exercises

 

Comments