The C++ Paradox: The World’s Most Popular Language… That’s Not Truly OOP

Kirubakaran
4 min readJun 17, 2024

C++ holds a unique position in the programming world. It’s a language known for its power, flexibility, and performance, often found in the heart of performance-critical applications. Although, despite its extensive support for object-oriented programming (OOP), C++ isn’t categorized as a “pure” OOP language. Why is this? Let’s dive into the details

The OOP Pillars

To understand the distinction, let’s revisit the core principles of OOP:

  1. Encapsulation: Combining data and the functions that operate on that data into “objects.”
  2. Abstraction: Simplifying complex systems by modeling classes that represent needed features.
  3. Inheritance: Creating new classes (derived classes) from existing ones (base classes), inheriting their properties and behaviors.
  4. Polymorphism: The ability of objects of different classes to respond to the same method call in their own way.

C++ undoubtedly excels at providing tools for these principles. You can define classes, create objects, and leverage inheritance and polymorphism effectively. So, where does the “impurity” come in?

The C Heritage and the Free Spirit

--

--

Kirubakaran

Software Engineer expertise on C, C++, Golang, Python, Docker, Kubernetes.