C++ Introduction Tutorial:
What is C++?
C++ is an object-oriented programming language. It was developed by Bjarne Stroustrup at AT&T Bell Laboratories in Murray Hill, New Jersey, USA, in the early 1980’s. Stroustrup and admirer of Simula67 and a strong supporter of C, wanted to combine the best of both the languages and create a more powerful language that could support object-oriented programming features and still retain the power and elegance of C
The result was C++. Therefore, C++ is an extension of C with a major addition to the class construct feature of Simula67. Since the class was a major addition to the original C language, Stroustrup initially called the new language ‘c with classes’.
However, later in 1993, the name was changed to C++. The idea of C++ comes form the C increment operator ++, thereby suggesting that C++ is an augmented (incremented) version of C.
During the early 1990’s the language underwent a number of improvements and changes. In November 1997, the ANSI/ISO standards committee standardised these change and added several new features to the language specifications.
C++ is a superset of C. Most of what we already know about C applies to C++ also. Therefore, almost C programs are also C++ programs. However, there are a few minor differences that will prevent a C program to run under C++ compiler. We shall see these differences later as and when they are encountered.
The most important facilities that C++ adds on to C are classes, inheritance, function overloading and operator overloading. These features enable creating of abstract data types, inherit properties form existing data types and support 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 form a language that currently facilitates top-down, structured design, to one that provides bottom-up, object-oriented design.