Advanced Object Oriented Programming in C++