Advanced Programming in C/C++

Build on the skills learned in Intermediate Programming in C/C++
with three applications of operator overloading: formatted and file I/O; dynamic memory allocation; and standard containers, such as vector, list, and string. Then, concentrate on building classes using the different varieties of inheritance: single and multiple, virtual and nonvirtual, public and private, and inheritance from an abstract base class with pure virtual functions. See how object-oriented design results in maintainable, extensible architectures. Explore the implementations of, and alternatives to, inheritance. Report and recover from runtime errors by throwing and catching exceptions.