Object Oriented Programming
Contents: Introduction to Object Orientation: Objects and Classes; Encapsulation; Inheritance; Polymorphism. OO Foundations/Basics: Member Variables; Member Functions; Privacy; Memory Allocation and De-allocation. Encapsulation: Constructors and Destructors; Overloading Constructors; Referring to Current Object; Copy Constructor; Overloading Operators; Assignment Operator; Unary Operations; Binary Operations; Friend functions. Inheritance: Derived Classes; Hierarchies; Base and Derived syntax; Access: public, protected, private; Functions in a Hierarchy; Shadowing; Constructors and Destructors; Derived Classes with a Resource. Polymorphism: Overview of Polymorphism; Type; Categories: coercion, overloading, inclusion, parametric; Virtual Functions; Bindings; Polymorphic Objects; Abstract Base Classes; Pure Virtual Functions; Arrays of Pointers; Templates.