Data abstraction and object-oriented programming in C++

Part 1 Introduction: data abstraction object-oriented programming the NIH class library. Part 2 Progamming with abstract data types in C++: data abstraction in C++ specification of class BigInt implementation of class BigInt applications for abstract data types stream I/O dynamic character strings abstract data types for dates and times regular expressions numeric data types. Part 3 Object-oriented programming in C++: object-oriented programming concepts geometry example object-oriented progamming terminology an introduction to the NIH class library geometry example using NIH library classes copying objects object I/O programming with the NIH container classes the NIH class library container classes guidelines for using container classes designing library classes an example NIH library class lightweight processes an object-oriented application the object-oriented design an implementation based on the NIH class library implementing a database with the NIH class library multiple inheritance multiple inheritance and modular programming virtual functions and multiple inheritance virtual base classes virtual base classes and virtual functions object initialization and multiple inheritance programming with virtual base classes multiple inheritance and the NIH class library exception handling parameterized types garbage collection dynamic linking. Appendices: the NIH class library hierarchy NIH class library template files tips for C programmers.