C++ programming: An object-oriented approach