https://www.learncpponline.com/defining-derived-classes-c-plus-plus/
Defining of Derived Classes in C++