- Introduction
- Class and Objects
- Encapsulation
- Abstraction
- Data Hiding
- Access modifiers
- Enumerated Types or Enums
- friend class and Friend Function
- Operator Overloading
- this pointer in C++
- Inheritance
- Polymorphism
- Templates
- Exception Handling
- File Handling
Is a programming paradigm in which programs are organized around data, or based on the concept objects
, rather than functions and logic.
Basically an object can be defined as a data (attributes or properties) and behaviors (methods)
Simply put, OOP focuses on the objects that developers want to manipulate rather than the logic required to manipulate them. This approach to programming is well-suited for programs that are large, complex and actively updated or maintained. Due to the organization of an object-oriented program, this method is also conducive to collaborative development where projects can be divided into groups. Additional benefits of OOP include code reusability, scalability and efficiency.
OOP was developed to increase the reusability and maintainability of source code. Transparent representation of the control flow had no priority and was meant to be handled by a compiler. With the increasing relevance of parallel hardware and multithreaded coding, developing transparent control flow becomes more important, something hard to achieve with OOP