Object-oriented programming or OOPS is a programming model based on the concept of “objects”. These objects can contain data and code. They contain data in the form of fields, and codes, in the form of procedures.
Why do we need Object Oriented Programming(OOP)?
It has become a fundamental part of software development in recent times. The OOP languages allows you to break down your software into bite-sized problems and you can solve them one object at a time.
Advantages of OOPS
- Modularity for easier troubleshooting: We can know exactly where to look when there is a problem.
- Effective problem solving: To solve complex programming challenges, OOP can be of great help.
Module I – Moving to C++ syntax from C:
Tokens, keywords, identifiers and constants, data types: basic types of C and reference variables, enum with their importance, symbolic constants, variables, operators, manipulators, control statements and loops, macros.
functions- pass by: value, address and reference, importance of default values in creating applications
Module II – Classes and objects:
Classes: class definition and declaration, member functions, static data members and member functions.
Constructors: parameterized constructors, constructors with default values and its importance in applications, multiple constructors in a class and their working, copy constructor, dynamic constructors-realization and relevance, destructors.
Objects: arrays of objects, pass and return of objects, Function overloading, friend functions
Operator overloading: Overloading unary and binary operators, overloading using friend functions and its usage, rules for overloading.
Inheritance: Single and multiple inheritances, public, private and protected inheritance. Pointers to objects, this pointer, pointers to derived classes, virtual functions, run-time polymorphism
Templates: Need for templates in real life applications, developing container classes with and without template functions, non-member function templates: importance and realization, overloading template functions, member function templates and non-type template arguments.
Exception handling: Basics, throwing and catching mechanisms
IO streams: Managing console I/O operations: C++ streams, C++ stream classes, I/O operations, managing O/P with manipulators to realize solutions to given problems.
Files: Need for file systems, classes for file stream operations, opening and closing a file, detecting end of file, more about open():file modes, writing data onto file through any UI