#ifndef CLASSES_H #define CLASSES_H 1 #include using namespace std ; class BaseClass { public: BaseClass () { cout << "BaseClass Constructor: " << endl ;} virtual ~BaseClass() { cout << "BaseClass Destructor: " << endl ; } virtual void foo (const string& s) = 0 ; } ; class DerivedClass : public BaseClass { public: DerivedClass () { cout << "DerivedClass Constructor: " << endl ;} ~DerivedClass() { cout << "DerivedClass Destructor: " << endl ; } virtual void foo (const string& s) { cout << "DerivedClass Foo: " << s << endl ; } } ; #endif