Learning C++ from scratch