Secrects of Object Oriented Programming in C++
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