C++ is largely an amalgamation of several other programming languages. Obviously, C++ inherits most of its characteristics, such as its syntax, looping mechanisms and the like, from C. Apart from C, C++ borrows most heavily from the aforementioned SIMULA-67 programming language. Nearly all the support that C++ provides for object-oriented programming comes from this language. The concept of a class and the so-called virtual function mechanism are a few of the features present in SIMULA-67 which have been integrated in C++.
To a limited extent, C++ also borrows some programming mechanisms from Algol-68. These include support for operator overloading and the declaration of variables almost anywhere in the code. As mentioned, the newer C++ compilers will provide support for parameterized types and exception handling, concepts borrowed from Ada and Clu.