1. C++ as a Structured Language
2. C++ as a Procedural Language
3. Limitations of Procedural Programming
4. C++ as a Modular Programming Language
5. Limitations of Modular Programming
6. Data Abstraction ( Classes & Objects)
7. Operator Overloading
8. Establishing Relationship (Inheritance/Containment)
9. Dynamic Behavior(Polymorphism)
10. Interface(Abstract Classes)