rendered paste bodyclass D{}; class A : public D{}; class B : public A {}; class C : public A {};
class Base {
public:
virtual void F1(A *p) { printf("Base A!\n"); }
virtual void F1(B *p) { printf("Base B!\n"); }
virtual void F1(C *p) { printf("Base C!\n"); }
virtual void F1(D *p) { printf("Base D!\n"); }
};
class Child : public Base {
public:
void F1(A *p) { printf("Child A!\n"); }
void F1(B *p) { printf("Child B!\n"); }
void F1(C *p) { printf("Child C!\n"); }
//void F1(D *p) { printf("Child D!\n"); }
};
void main()
{
Child c;
D b;
c.F1(&b);
getch();
}