CIS-255 Home http://www.c-jump.com/bcc/c255c/c255syllabus.htm

Class Inheritance and Object-Oriented Design


  1. C++ and OO design
  2. Problems to solve
  3. Structured programming
  4. Encapsulation
  5. Inheritance
  6. Encapsulation + inheritance + polymorphism
  7. Run-time polymorphism vs. parametric polymorphism
  8. Inheritance Goals
  9. What is inheritance?
  10. Inheritance example
  11. Inheritance interactions
  12. protected class members
  13. Constructing a derived class
  14. Constructing a derived class example
  15. Access levels for inheritance
  16. Inheritance and friendship
  17. Inheritance vs. encapsulation
  18. Inheritance vs. templates
  19. Things to watch out for
  20. Implicit conversion, upcast
  21. More things to watch out for
  22. Ways to use inheritance
  23. Inheritance of mix-ins
  24. More on Inheritance and Polymorphism
  25. The basic idea: redirecting calls
  26. Virtual functions
  27. Possible alternative: Faking it
  28. Using virtual functions
  29. Pure virtual functions
  30. Under the covers
  31. Virtual destructors
  32. Two forms of inheritance
  33. Pure interfaces
  34. C++ way of conversions between types
  35. Safer casting with static_cast
  36. Safer casting with dynamic_cast
  37. Unrelated types conversion: reinterpret_cast
  38. const cast away: const_cast
  39. Mistakes and pain caused by careless overriding of virtual and non-virtual functions
  40. Inheritance advice