CIS-62 Home http://www.c-jump.com/CIS62/CIS62syllabus.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 and Polymorphism
  24. The basic idea: redirecting calls
  25. Virtual functions
  26. Possible alternative: Faking it
  27. Using virtual functions
  28. Pure virtual functions
  29. Under the covers
  30. Virtual destructors
  31. Two forms of inheritance
  32. Pure interfaces
  33. C++ way of conversions between types
  34. Safer casting with static_cast
  35. Safer casting with dynamic_cast
  36. Unrelated types conversion: reinterpret_cast
  37. const cast away: const_cast
  38. Mistakes and pain caused by careless overriding of virtual and non-virtual functions
  39. Inheritance advice