#include <typeinfo>
#include <iostream>
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() { cout << "I'm an B" << endl; }
};

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;
}
