There’s a Single C++, and It Is Object-Oriented
Only if you ignore all the others
C++ was born as C with objects, which makes many developers still consider it an OOP language. We will see in this chapter that C++ allows multiple paradigms, and you could safely describe it as multiple programming languages in one. We will look at a few paradigms supported in C++, including structured programming, OOP, functional programming, and metaprogramming, in combination with the choice of strong versus quasi-optional types.
In this chapter, we’re going to cover the following main topics:
- The multiple facets of C++
- Functional programming in C++
- Metaprogramming
- Strong types to the limit
- What about ignoring types?