an abstract c++ program