Data Abstraction & Problem Solving in C++