Practical Object-Oriented Development in C++ and Java