#include #include using namespace std; class A { public: virtual void do_it() { cout << "I'm an A" << endl; } }; class B : public A { const int mavar; public: B() : mavar(5) {}; void do_it(const int& param) { cout << "I'm an B" << endl; param=5;} }; class C : public A { public: void do_it() { cout << "I'm an C" << endl; } }; int main(void) { A a; B b; C c; // A* obj; return 0; }