SECTION-A
Evolution of OOP: Procedure Oriented Programming, OOP Paradigm, Advantages and disadvantages of OOP over its predecessor paradigms.
Characteristics of Object Oriented Programming: Abstraction, Encapsulation, Data hiding, Inheritance, Polymorphism, Code Extensibility and Reusability, User defined Data Types.
Introduction to C++: Identifier, Keywords, Constants,
Operators: Arithmetic, relational, logical, conditional and assignment. sizeof operator, Operator precedence and associativity.
Type conversion, Variable declaration, expressions, statements, manipulators
Input and output statements, stream I/O, Conditional and Iterative statements, breaking control statements.
SECTION-B
Storage Classes: Automatic, Static, Extern, Register.
Arrays, Arrays as Character Strings, Structures, Unions, Enumerations and User defined types.
Pointers: Pointer Operations, Pointer Arithmetic, Pointers and Arrays, Multiple indirections, Pointer to functions. Functions: Prototyping, Definition and Call, Scope Rules. Parameter Passing: by value, by address and by reference, Functions returning references, Const functions, recursion, function overloading, Default Arguments, Const arguments.
Classes and Objects: Class Declaration and Class Definition, Defining member functions, making functions inline, Nesting of member functions, Members access control. this pointer.
Objects: Object as function arguments, array of objects, functions returning objects, Const member functions.
Static data members and Static member functions.
Friend functions and Friend classes, Constructors: properties, types of constructors (Default, parameterized and copy), Dynamic constructors, multiple constructors in classes.
Destructors: Properties, Virtual destructors. Destroying objects. Rules for constructors and destructors.
Array of objects. Dynamic memory allocation using new and delete operators, Nested and container classes
SECTION-C
Inheritance: Defining derived classes, inheriting private members, single inheritance, types of derivation, function redefining, constructors in derived class.
Types of inheritance: Single, Multiple, Multilevel and Hybrid. Types of base classes: Direct, Indirect, Virtual, Abstract. Code Reusability.
Polymorphism: Methods of achieving polymorphic behavior.
Operator overloading: overloading binary operator, overloading unary operators, rules for operator overloading, operator overloading using friend function. Function overloading: early binding,
Polymorphism with pointers, virtual functions, late binding, pure virtual functions and abstract base class.
Files and streams: Classes for file stream operations, opening and closing of files, stream state member functions, binary file operations, structures and file operations, classes and file operations, I/O with multiple objects, error handling, sequential and random access file processing.