C++ has its root in a project to simulate software running on a distributed system.This simulator was actually written in simula but it was Bjarne stroustrup who conceived the idea of combining some of the features of simula with the syntax of C.
While working at Bell,stroustrup mode personal contacts with people sucha as Kernighan and Ritchie.When initial attempt of simulator written in simula failed,stroustrup decided to rewrite it in a C predecessor language called BPCL.Finally he develpoed the c++ language in 1982 under the name 'C with classes'.
Although C++'s O-O roots are in simula,stroustrup decided to use C which is flexible,efficient,available and portable language today.
Commercial C++ compilers began to appear in 1988.In June 1989 C++ Release 2.0 legitimately moved C++ into software development in late 1989 the ANSI C++ committee formed.
Although C++ is not entirely a new language, C++ represents a significant extension of C ability.C++ is created to add object oriented mechanisms without compromising the efficiency and simplicity that mode C so popular. C++ retains the attractive feature of C language such as efficiency,classes to machine and a variety of built in type.
Most of the C++ features can be broadly categorized by two important design goals i.e.
1. Strong compiler type checking
2. User extensible language.
By enforcing strict type checking C++ compiler makes us acusiatecy aware of data types which is provided through function argument checking ,conversions etc. C++ also enables programmer to incorporate new types into the language through the use of class which is a user defined type but compiler can treat new type us if they are built-in-types.
In C++ class provides the mechanism for data abstraction and encapsulation which are key to object oriented programming.