65,211
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
class B0
{
public:
void display()
{
printf("B0:display()\n");
}
};
class B1:public B0
{
public:
void display()
{
printf("B1:display()\n");
}
};
class D1:public B1
{
public:
void display()
{
printf("D1:display()\n");
}
};
void fun(B0 *ptr)
{
ptr->display();
}
int main()
{
B0 b0;
B1 b1;
D1 d1;
B0 *p;
p = &b0;
fun(p);//没有虚函数,p指向由其类型决定,即p指向B0
p=&b1;
fun(p);//同上
p = &d1;
fun(p);//同上
return 0;
}