Inheritance & Polymorphism

Build class hierarchies. Use inheritance, virtual functions, and polymorphism for flexible code.

56 lessons
215 min

Lessons

1. Intro

Building class hierarchies

4m

2. What is Inheritance?

Sharing class behavior

4m

3. Base Class and Derived Class

Parent and child relationship

4m

4. Inheritance Syntax

Declaring derived classes

4m

5. What Gets Inherited?

Members passed to derived

4m

6. Quiz: Class extension

Class extension

3m1 problems

7. Quiz: Inheritance Basics

Knowledge check

3m1 problems

8. Access Specifiers in Inheritance

Inheritance visibility

4m

9. Protected Members

Access from derived classes

4m

10. Quiz: Class extension

Class extension

3m1 problems

11. Constructor Inheritance and Calling Base

Initializing base parts

4m

12. Destructor Order in Inheritance

Cleanup from derived to base

4m

13. Quiz: Class extension

Class extension

3m1 problems

14. Method Overriding

Replacing base behavior

4m

15. Quiz: Method Overriding

Knowledge check

3m1 problems

16. Hiding vs Overriding

Name resolution in inheritance

4m

17. What is Polymorphism?

Runtime type selection

4m

18. Quiz: Class extension

Class extension

3m1 problems

19. Virtual Functions

Enabling polymorphic calls

4m

20. The Virtual Keyword

Syntax and rules

4m

21. Quiz: Polymorphism

Polymorphism

3m1 problems

22. How Virtual Functions Work

Runtime dispatch mechanism

4m

23. Quiz: Virtual Functions

Knowledge check

3m1 problems

24. Pure Virtual Functions

Forcing derived implementation

4m

25. Abstract Classes

Non-instantiable base classes

4m

26. Quiz: Code organization

Code organization

3m1 problems

27. Concrete vs Abstract Classes

Can it be instantiated?

4m

28. Interfaces in C++

Pure abstract classes

4m

29. Virtual Destructors

Preventing memory leaks

4m

30. Quiz: Virtual Destructors

Knowledge check

3m1 problems

31. Override Keyword

Explicit override declaration

4m

32. Final Keyword

Preventing further overrides

4m

33. Quiz: Class extension

Class extension

3m1 problems

34. Multiple Inheritance Basics

Inheriting from multiple bases

4m

35. Diamond Problem

Shared base duplication

4m1 problems

36. Quiz: Multiple Inheritance

Knowledge check

3m1 problems

37. When to Use Inheritance vs Composition

Design decision guidelines

4m

38. Practice: Animal Hierarchy

Build polymorphic system

4m

39. Quiz: Class extension

Class extension

3m1 problems

40. Practice: Shape Interface

Abstract class design

4m

41. Quiz: Inheritance Design

Knowledge check

3m1 problems

42. Practice: Virtual Destructor Bug

Fix memory leak

4m

43. Practice: Override vs Final

Experiment with keywords

4m

44. Problem - Force Vectors

OOP force calculation

4m1 problems

45. Force Vectors - The Idea

Inheritance benefits

5m

46. Force Vectors - Algorithm

Implementation approach

4m

47. Quiz: Counter-based loop

Counter-based loop

3m1 problems

48. Force Vectors - Implementation

Pseudocode solution

6m1 problems

49. Lessons from Force Vectors

summary

4m

50. Problem - Team Uniforms

Virtual methods

4m1 problems

51. Team Uniforms - The Idea

Polymorphism benefits

5m

52. Team Uniforms - Algorithm

Implementation approach

4m

53. Quiz: Conditional execution

Conditional execution

3m1 problems

54. Team Uniforms - Implementation

Pseudocode solution

6m1 problems

55. Lessons from Team Uniforms

summary

4m

56. Section Recap

What we learned

5m

Ready to start learning?

Access all 56 lessons with interactive content and progress tracking.