class A
{
public:
virtual void foo()
{
printf("aa1\n");
}
virtual void fun()
{
printf("aa2\n");
}
};
class B : public A
{
public:
void foo()
{
printf("bb3\n");
}
void fun()
{
printf("bb4\n");
}
};
int main(void)
{
B b;
A *a = &b;
while(1)
{
int control;
scanf("%d",&control);
switch (control) {
case 1:
a->foo();
break;
case 2:
b.foo();
break;
default:
break;
}
}
return 0;
}
两种方法得到的都一样,为什么还要用父类指针