This document provides an overview of object-oriented programming using C++. It discusses some key features of OOP languages like representing real-world objects and their states/abilities. It also covers basic C++ syntax, different programming paradigms like procedural, modular, and object-oriented programming. Specific OOP concepts like classes, objects, constructors, inheritance, and polymorphism are explained. Code examples are provided for a Matrix class definition and using inheritance with a Rectangle class extending a Shape class.