
for Objects, Defining Member functions of the
class (inside and outside the class).
3.2 Initialization of class object (Constructor),
Destructor, Types of Constructor (Default
Constructor, Parameterized Constructor, Copy
Constructor, The Default Copy Constructor).
3.3 Objects as Function Arguments, Returning
Objects from Functions, Static members (Static
data members and static member functions).
3.4 Friend Function and Friend Class, Copy
Initialization, This Pointer.
Unit 4: Operator Overloading (7 Hrs.)
4.1 Fundamental of operator overloading, Restriction
on operator overloading (operators that cannot be
overloaded), Rules for Overloading Operators.
Operator functions as a class members.
4.2 Overloading unary Operators: Overloading Pre-
increment, Post-increment, and Negation
Operator.
4.3 Overloading Binary Operators: Overloading Plus
Operator, Overloading Comparison Operator,
String Concatenation using operator overloading.
4.4 Data Conversion: Basic to User-defined/class,
User-defined/class to Basic, User-defined/class to
User-defined/class.
Lecture + Laboratory
Work
Unit 5: Inheritance (7 Hrs.)
5.1 Introduction to inheritance, Derived Class and
Base Class, Access Specifiers (private, protected,
and public).
5.2 Types/Forms of inheritance (Single, Multiple,
Hierarchical, Multilevel, Hybrid), Public,
Protected and Private Inheritance.
5.3 Constructor and Destructor in derived classes
(Order of execution of Constructors and
Destructors).
5.4 Aggregation, Aggregation vs. Inheritance,
Ambiguity (Ambiguity in Multiple and Multipath
Inheritance), Virtual Base Class.
Lecture + Laboratory
Work
Unit 6: Virtual Function, Polymorphism, and other C++ Features (3 Hrs.)
6.1 Concept of Static and Dynamic
Polymorphism, Pointers to Base Class,
Concept of Virtual functions, Implementation
of Dynamic Polymorphism, Abstract class,
Lecture + Laboratory
Work