C++: Classes and Data Structures