Objectives
This section gives an overview of C++.
It presents an outline of its history,
and discusses the design principles underlying C++
and its heritage from C.
It lists the keywords that C++ introduces
in addition to the keywords employed in C,
and characterizes the object-oriented constructs
supported by C++.
An example is given to illustrate the difference between
realizing an abstract data type in C and realizing
the same abstract data type in C++.
Further, it illustrates the use of virtual functions
when deriving classes by inheritance
and discusses a number of additional features
supported by C++.
Points to emphasize
- design principles -- efficiency
- terminology -- object, type
- syntax -- object, reference, pointer
- objects -- abstract data types
- inheritance -- virtual functions
- techniques -- operators, templates, overloading
Comments
Many of the difficult features of C++
need not be used in ordinary programs.
Yet, many textbooks work out these details before
discussing the realization of abstract data types in C++.
I favor an approach which avoids the use of constructs
like friends until they are really needed.