Object Oriented Programming in C++
UNIT – I
OOP Paradigm: Comparison of Programming paradigms, Characteristics of Object-Oriented Programming Languages, Object-based programming languages C++: Brief History of C++, Structure of a C++ program, Difference between C and C++ – cin, cout, new, delete operators, ANSI/ISO Standard C++, Comments, Working with Variables and const Qualifiers. Enumeration, Arrays and Pointer.
Implementing oops concepts in c++ Objects, Classes, Encapsulation, Data Abstraction, Inheritance, Polymorphism, Dynamic Binding, Message Passing, Default Parameter Value, Using Reference variables with Functions.
UNIT – II
Abstract data types, Class Component, Object & Class, Constructors Default and Copy Constructor, Assignment operator deep and shallow coping, Access modifiers – private, public and protected. Implementing Class Functions within Class declaration or outside the Class declaration. instantiation of objects, Scope resolution operator, Working with Friend Functions, Using Static Class members. Understanding Compile Time Polymorphism function overloading Rules of Operator Overloading (Unary and Binary) as member function/friend function, Implementation of operator overloading of Arithmetic Operators, Overloading Output/Input, Prefix/ Postfix Increment and decrement Operators, Overloading comparison operators, Assignment, subscript and function call Operator , concepts of namespaces.
UNIT – III
Inheritance: Inheritance, Types of Inheritance, Abstract Classes, Ambiguity resolution using scope resolution operator and Virtual base class, Aggregation, composition vs classification hierarchies, Overriding inheritance methods, Constructors and Destructor in derived classes. Multiple Inheritance.
Polymorphism: Polymorphism, Type of Polymorphism – compile time and runtime, Understanding Dynamic polymorphism: Pointer to objects, Virtual Functions (concept of VTABLE) , pure virtual functions, Abstract Class.
Advanced Input/Output, Exception Handling and Manipulating strings, Using istream / ostream member functions, Using Manipulators, Creating Manipulator Functions, Understanding Implementation of Files, Writing and Reading Objects. Understanding of working and implementation of Exception Handling.