This module is designed to acquaint the students with the basics of C++ programming language
Object-oriented Paradigm: Introduction to OO Paradigm, Structured Versus object oriented programming, Objects and Class, features of object oriented language Merits & demerits of OO methodology. Data Types, Operators and Expressions.
Classes and Objects: Class specification, Class Objects, Accessing Class Members, Defining member function out side member function as inline, Accessing Member function within class, Data Hiding ,Passing object to functions and returning Objects from functions, friend functions and friend classes, constant parameters, static data member and member function.
Object Initialization and Cleanup: Constructors, parameterized constructors, destructor, constructor overloading, order of construction and destruction, default arguments, copy constructor, Static data members
Operator overloading: unary, binary operator overloading, arithmetic operators, concatenation of strings, comparison operators, arithmetic assignment operators, data conversions, overloading with friend functions.
Inheritance: Introduction , Forms of inheritance, inheritance and member accessibility, Constructor and Destructor in Derived class, Constructor invocation and data member initialization, Function overloading, overloaded member function, abstract classes, Multilevel, Multiple, Hierarchical, Multipath inheritance & virtual base classes, Hybrid Inheritance, object composition
Virtual Functions: Need, Pointer to Derived class objects, array of pointers to base class objects, Pure virtual function , Abstract Classes Virtual function, Dynamic binding.
Generic Programming with Templates: Function templates, overloaded function templates, nesting of function calls, multiple arguments function template, user-defined template arguments, class templates, inheritance of class template, class template with overloaded operators