C++ is a general-purpose object-oriented programming (OOP) language, developed by Bjarne Stroustrup, and is an extension of the C language. C++ was originally named “C with Classes”. The addition of classes to the C language is how Stroustrup transformed C into a OOP language.
C++ is considered an intermediate-level language, as it encapsulates both high and low-level language features.
High Level Language
- higher abstraction -> further away from the “metal” – binary, memory management, etc.
- natural language elements – easier for a human to read and write
Low Level Language
- low to lowest abstraction – closer to the “metal” – assembly language, memory management, pointers, etc.
- can convert machine code to binary without a compiler or interpreter
C++ primarily utilizes system/application software, drivers, client-server applications and embedded firmware making it one of the most popular languages developers use. The main highlight, though, is that it is a collection of predefined classes which can be instantiated multiple times. Facilitation of user-defined class declarations make the language very flexible.
Each class can further accommodate data members such as variables and member functions to implement specific functionality. An object or many objects can be defined based on the class giving access to its data members and functionality. These classes can be expanded on by creating subclasses which inherit the public and private data members by default.
Essential C++ Concepts:
- Polymorphism
- virtual and friend functions
- templates
- namespaces
- pointers
That’s all I have for today. Check back soon for more.
