Source: https://www.se.rit.edu/~swen-250/slides/Cpp/00-intro-to-classes.pdf