Source: https://courses.cs.washington.edu/courses/cse303/09sp/lectures/2009-06-05/24-cpp-inheritance2.pdf