This repository contains the Theory and Programs of Object Oriented Programming and Methodology in C++.
- Definiton of OOP
- Procedural v/s Object Oriented programming
- Key Features of OOP (Encapulation, Inheritance, Polymorphism, Abstraction)
- Definition of class and object
- Class structure
- Access Specifiers (Public, Private and Protected)
- Creating Objects
- Constructors and Destructors
- Data Handling
- Accessor and Mutator Functions
- Importance of Encapsulation
- Definition of Inheritance
- Types of Inheritance (single, Multiple, Multilevel, Hierarchical, Hybrid)
- Constructor and Destructor in Inheritance
- Virtual Base Class
- Comple Time (Function overloading, operator overloading)
- Runtime (virtual functions, function overriding)
- Pure Virtual Function and Abstract classes
- Abstract classes and inferences
- Importance of abstraction in OOP
- Pointers and references
- new and delete operator
-
- Dynamic Memory allocation for Objects
- Function overloading
- Operator Overloading (Unary, Binary)
- Rules for Operator overloading
- Default COnstructor
- Parametrized Constructor
- copy Constructor
- Destructor
- Friend Function
- Friend Class
- Advantage and Usage
- File Streams (ifstream, ofstream)
- Opening, Reading, Writing to files
- File Modes
- try, catch, throw
- Custom Exceptions
- Exception Handling Best Practices
- Function Templates
- Class Template
- Temple Specialization
- Overview of STL
- Containers, Iterators, Algorithms