| I | Principles of Object-Oriented Programming: Characteristics of object-oriented languages, C++ Program structure, Procedure Oriented Programming vs Object Oriented Programming. C++ constructs and syntax, tokens, variables, data-types, type conversion, operators, Expressions, Namespace, flow Control and decision, making statements. | 1. Simple programs using Operators, and type conversion. 2. Programs using Conditional and Loop statements and loops. |
| II | Classes and Objects: Abstraction mechanism: Classes, Objects, member data, member functions - Constructors and types - destructors, inline function, friend function. Array of objects, objects as function arguments - memory allocation for objects, static members static data and static function. | 1. Programs using in-line and friend functions. 2. Programs using constructors and destructors. |
| III | Inheritance and Compile Time Polymorphism: Inheritance: Derived Classes – Single inheritance – Multilevel Inheritance – Multiple Inheritance - Hierarchical inheritance – Hybrid inheritance. Operator Overloading: Compile time Polymorphism – Overloading Functions, Overloading Operators, Overloading Unary Operators – Overloading Binary Operators – Operator Overloading with Friend Functions. | 1. Programs for inheritance and its types. 2. Programs using friend function and operator overloading. |
| IV | Pointers and Runtime Polymorphism: Pointers with arithmetic operations - this pointer – Pointers to Derived classes and Base classes. Compile time versus Runtime Polymorphism - Virtual functions - Late Binding - Abstract classes- Pure virtual functions and Virtual Destructors - Virtual base class. | 1. Programs for pointer manipulation. 2. Programs for virtual functions. |
| V | Templates and Exception Handling: Class Templates - Function Templates – Overloading of Template Functions. String, iterators, hashes, IO streams; Exception Handling. | 1. Programs using function and class templates. 2. Programs using exception handling. |
| VI | I/O Systems and File I/O: C++ Streams - Formatted and Unformatted I/O –File stream classes – File modes - File operations. Sequential Read / Write operations – Binary and ASCII Files - Error handling in file I/O with member function. | 1. Programs for error handling in file and I/O management. 2. Develop applications using OOP features. |