PRACTICAL OBJECT-ORIENTED DEVELOPMENT IN C++ AND JAVA