CIS-255 Home
http://www.c-jump.com/bcc/c255c/c255syllabus.htm
Class Inheritance and Object-Oriented Design
- C++ and OO design
- Problems to solve
- Structured programming
- Encapsulation
- Inheritance
- Encapsulation + inheritance + polymorphism
- Run-time polymorphism vs. parametric polymorphism
- Inheritance Goals
- What is inheritance?
- Inheritance example
- Inheritance interactions
- protected class members
- Constructing a derived class
- Constructing a derived class example
- Access levels for inheritance
- Inheritance and friendship
- Inheritance vs. encapsulation
- Inheritance vs. templates
- Things to watch out for
- Implicit conversion, upcast
- More things to watch out for
- Ways to use inheritance
- Inheritance of mix-ins
- More on Inheritance and Polymorphism
- The basic idea: redirecting calls
- Virtual functions
- Possible alternative: Faking it
- Using virtual functions
- Pure virtual functions
- Under the covers
- Virtual destructors
- Two forms of inheritance
- Pure interfaces
- C++ way of conversions between types
- Safer casting with static_cast
- Safer casting with dynamic_cast
- Unrelated types conversion: reinterpret_cast
- const cast away: const_cast
- Mistakes and pain caused by careless overriding of virtual and non-virtual functions
- Inheritance advice