Chapter 1

Introduction to Object Oriented Programming

Overview of structured programming approach, object oriented programming approach, characteristics of object oriented languages.

Chapter 2

Basics of C++ Programming

C++ program structure; Character set and tokens; Data types; Type conversion; Preprocessor directives; Namespace; Input/Output streams and manipulators; Dynamic memory allocation with new and delete; Control statements; Functions: function overloading, inline functions, default argument, pass by reference, return by reference, scope and storage class; Pointers: pointer variable declaration & initialization, pointer operators, pointers and arrays, pointers and functions.

Chapter 3

Classes & Objects

A simple class and object; Accessing members of class; Initialization of class objects (constructors, destructors); Default constructor; Parameterized constructor; Copy constructor; Objects as function arguments; Returning objects from functions; Structures vs classes; Memory allocation for objects; Static members; Member functions defined outside the class.

Chapter 4

Operator Overloading

Fundamentals of operator overloading; Restrictions on operator overloading; Operator functions as class members; Overloading unary and binary operators; Data conversion (basic to basic, basic to user-defined, user-defined to basic, user-defined to user-defined).

Chapter 5

Inheritance

Introduction to inheritance; Derived class and base class; Access specifiers (private, protected, public); Types of inheritance (single, multiple, multilevel, hierarchical, hybrid); Constructors and destructors in derived classes; Aggregation.

Chapter 6

Virtual Function, Polymorphism and Miscellaneous C++ Features

Concept of virtual functions; Late binding; Abstract classes and pure virtual functions; Virtual destructors; Virtual base class; Friend functions and static functions; Assignment and copy initialization; This pointer; Concrete classes; Polymorphism and its roles.

Chapter 7

Function Templates and Exception Handling

Function templates; Function templates with multiple arguments; Class templates; Templates and inheritance; Exception handling (try, throw, catch); Use of exceptional handling.

Chapter 8

File Handling

Stream class hierarchy for console I/O; Unformatted I/O; Formatted I/O with ios member functions; Formatting with manipulators; File input/output with streams; Opening and closing files; Read/write operations; Sequential and random access to files; Error handling during file operations.