Provides a solid foundation for object-oriented programming using the C++ programming language. It introduces fundamental conceptual tools and their implementation of object-oriented design and programming such as: object, type, class, implementation hiding, inheritance, parametric typing, function overloading, polymorphism, source code reusability, and object code reusability. Fundamental principles of object-oriented design and programming are stressed while covering the language details.