Data abstraction and structures using C++