The Evolution of C++: 1985 to 1989

The Ct+ Programming Language [Stroustrup 1986] describes Cr+ as defrned and implemented in August 1985. This paper describes the growth of the language since then and clarifies a few points in the defrnition. It is emphasized that these language modifications are extensions; Cr+ has been and will remain a stable language suitable for long term software development. The main new featurei of Cr-+ are: multiple inheritance, type-safe linkage, better resolution of overloaded functions, recuriive definition of assignment and initialization, better facilities for user-defrned memory management, abstract classes, static member functions, const member functions, protected members, overloading of operator ->, and pointers to members. These features are provided in the 2.0 release of Cr+. This paper is a revised and expanded version of a paper with a similar title. prer.iið¿ "t the USENIX C++ Workshop in Sanla Fe, New Mexico, November 1987. @ Computing Systems,Vol. 2'No. 3'Summer 1989 191

[1]  Al Stevens,et al.  C programming , 1990 .

[2]  Bjarne Stroustrup,et al.  Multiple Inheritance for C++ , 1989, Comput. Syst..

[3]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[4]  Bjarne Stroustrup,et al.  Possible Directions for C++ , 1993, C++ Workshop.

[5]  G. Agha An overview of actor languages , 1986, OOPWORK '86.

[6]  Thomas A. Cargill Pi: a case study in object-oriented programming , 1986, OOPLSA '86.

[7]  Bjarne Stroustrup,et al.  Parameterized Types for C++ , 1989, C++ Conference.

[8]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[9]  David A. Moon,et al.  The Lisp Machine manual , 1981, SGAR.