Learning C++ with TAD's