Principles of Object-Oriented Programming : Software Crisis; Software Evolution; A Look at
Procedure-Oriented Programming; Object Oriented Programming Paradigm; Basic Concepts of
Object-Oriented Programming; Benefits of OOP; Object Oriented Languages; Applications of
OOP.
Beginning with C++ : What is C++?, Applications of C++, A Simple C++ Program, More C++
Statements, An Example with Class; Structure of C++ Program, Creating the Source File,
Compiling and Linking.
Tokens, Expressions and Control Structures : Introduction; Tokens; Keywords; Identifiers;
Basic Data Types; User-Defined Data Types; Derived Data Types; Symbolic Constants; Type
Compatibility; Declaration of Variables; Dynamic Initialization of Variables; Reference Variables;
Operators in C++; Scope Resolution Operator; Member Dereferencing Operators; Memory
Management Operators; Manipulators; Type Case Operator; Expressions and Implicit
Conversions; Operator Overloading; Operator Precedence; Control Structures.
Functions in C++ : Introduction; The Main Function; Function Prototyping; Call by Reference;
Inline Functions; Default Arguments; const Arguments; Function Overloading; Friend and Virtual
Functions.
Classes and Objects : Introduction; C Structures Revisited; Specifying a Class; Defining
Member Functions; A C++ Program with Class; Making an Outside Function Inline; Nesting of
Member Functions; Private Member Functions; Arrays Within a Class; Memory Allocation for
Objects; Static Data Members; Static Member Functions; Arrays of Objects; Objects as Function
Arguments; Friendly Functions; Returning Objects; const Member Functions; Pointers to
Members.
Constructors and Destructors : Introduction; Constructors; Parameterized Constructors;
Multiple Constructors in a Class; Constructors with Default Arguments; Dynamic Initialization of
Objects; Copy Constructor; Dynamic Constructors; Constructing Two-Dimensional Arrays;
Destructors.
Operator Overloading and Type Conversions : Introduction; Defining Operator Overloading;
Overloading Unary Operators; Overloading Binary Operators; Overloading Binary Operators
Using Friends; Manipulation of Strings Using Operators; Rules for Overloading Operators; Type
Conversions.
Inheritance : Extending Classes : Introduction; Defining Derived Classes; Single Inheritence;
Making a Private Member Inheritable; Multilevel Inheritance; Multiple Inheritance; Hierarchical
Inheritance; Hybrid Inheritance; Virtual Base Classes; Abstract Classes; Constructors in Derived
Classes; Member Classes : Nesting of Classes.
Pointers, Virtual Functions and Polymorphism : Introduction; Pointers to Objects; this Pointer;
Pointers to Derived Classes; Virtual Functions; Pure Virtual Functions.
Managing Console I/O Operations : Introduction; C++ Streams; C++ Stream Classes;
Unformatted I/O Operations; Formatted Console I/O Operations; Managing Output with
Manipulators.
Working with Files : Introduction; Classes for File Stream Operations; Opening and Closing a
File; Detecting End-of-File; More About Open() : File Modes; File Pointers and Their
Manipulations; Sequential Input and Output Operations; Updating a File : Random Access; Error
Handling During File Operations; Command-Line Arguments.
Object-Oriented Systems Development : Introduction; Procedure-Oriented Paradigms;
Procedure-Oriented Development Tools; Object-Oriented Paradigm; Object-Oriented Notations
and Graphs; Steps in Object-Oriented Analysis; Steps in Object-Oriented Design;
Implementation; Prototyping Paradigm; Wrapping Up.