C++ is an Object-Oriented Programming language. This language developed by Bjarne Stroustrup at BELL Lab in 1980’s. He wanted to combine the best of both languages. It creates a more powerful language that could support object-oriented programming features and that is:
- Data Abstraction & Encapsulation
- Dynamic Binding
- Message Passing
C++ is is an extension of C otherwise, C++ is a superset of C. It is a versatile language for handling very large programs that is suitable for the virtuality of any programming task including the development of editors, compilers, databases, real-life and gaming application systems, etc.
C++ is a superset of C. Therefore, almost all C programs are also C++ programs. However, there are a few minor differences that will prevent a C program to run under a C++ compiler. The most important facilities that C++ adds to C are classes, inheritance, function overloading and operator overloading. These features enable the creation of abstract data types, inheritance and polymorphism. Thereby making C++ a truly object-oriented language.
The object-oriented features in C++ allow programmers to build large programs with clarity, extensibility and ease of maintenance, incorporating the spirit and efficiency of C. The addition of new features has transformed C from a language that currently facilitates the top-down, structured design that provides bottom-up, object-oriented design.
Applications of C++:
1. C++ allows us to create hierarchy-related objects, we can build special object-oriented libraries which can be used later by many programmers.
2. C++ programs are easily maintainable and expandable. When a new feature needs to be implemented, it is very easy to add to the existing structure of an object.
3. While C++ can map real-world problems properly, the C part of C++ gives the language the ability to get close to machine-level details.
4. It is expected that C++ will replace C as a general-purpose language.