C++: Object-Oriented Data Structures