The language C++

Instructors' Guide


Introduction Terminology Expressions Control Objects Inheritance Technology Summary
C++ is often disparaged because of its C heritage. Nevertheless, not only is C++ in many respects better than C, it also offers much more. From its conception, C++ has reflected a strong concern with static typing. As such it has influenced the ANSI C standard accepted in 1985.  [ES90] describe most of what has become the ANSI/ISO C++ standard, which is implemented by, among others, the GNU and Cygnus C++ compilers, and Microsoft Visual C++.

C++ -- is much more than a better C

C



   1972   C  Kernigan and Ritchi (Unix) 
   1983   C++   (Simula 1967)
   1985   ANSI/ISO C
   1996   ANSI/ISO C++
  

Design principles -- the benefits of efficiency


slide: The language C++

The leading design principle underlying C++ is to support object-oriented programming, yet allow the programmer and user the benefits of (runtime) efficiency. It has been designed as (almost) a superset of C, to allow the integration of C code in a seamless way. It provides strong static typing, yet allows the programmer to escape the rigidity of typing if absolutely necessary. C++ is designed to be extensible. This means that no assumptions are made with regard to a programming environment or standard library classes.

The C language was originally introduced as a (Unix) systems programming language, and is gradually being replaced by C++ for this purpose. However, C++ lends itself to many other applications, including mathematical programming and business applications.