class IClass {
public:
void Print() {};
};
class Class1:public IClass {
public:
void Print() { std::cout << 1; };
};
class Class2 :public IClass {
public:
void Print() { std::cout << 2; };
};
class Class3 :public IClass {
public:
void Print() { std::cout << 3; };
};
void Print(IClass* c) {
c->Print();
}
int main() {
Print(new Class1());
Print(new Class2());
Print(new Class3());
return 0;
}