Module I (08 hrs)
Introduction to object oriented programming, user defined types, structures, unions, polymorphism,
and encapsulation. Getting started with C++ syntax, data-type, variables, strings, functions, default
values in functions, recursion, namespaces, operators, flow control, arrays and pointers.
Module II (16 hrs)
Abstraction mechanism: Classes, private, public, constructors, destructors, member data, member
functions, inline function, friend functions, static members, and references.
Inheritance: Class hierarchy, derived classes, single inheritance, multiple, multilevel, hybrid
inheritance, role of virtual base class, constructor and destructor execution, base initialization using
derived class constructors.
Polymorphism: Binding, Static binding, Dynamic binding, Static polymorphism: Function Overloading,
Ambiguity in function overloading, dynamic polymorphism: Base class pointer, object slicing, late
binding, method overriding with virtual functions, pure virtual functions, abstract classes.
Operator Overloading: This pointer, applications of this pointer, Operator function, member and non
member operator function, operator overloading, I/O operators.
Exception handling: Try, throw, and catch, exceptions and derived classes, function exception
declaration, unexpected exceptions, exception when handling exceptions, resource capture and
Module III (16 hrs)
Dynamic memory management, new and delete operators, object copying, copy constructor,
assignment operator, virtual destructor.
Template: template classes, template functions.
Standard Template Library: Fundamental idea about string, iterators, hashes, iostreams and other
Namespaces: user defined namespaces, namespaces provided by library.
Object Oriented Design, design and programming, role of classes.