Inheritance and Data Structures