#include<stdio.h>
struct A
{
void aa()
{
printf("aa");
}
virtual void bb()
{
printf("bb");
};
A()
{
bb();
}
};
struct B:A
{
void aax()
{
printf("b_aa");
}
void bb()
{
printf("b_bb");
}
};
int main()
{
A *p=new B;//声明一个A类型对象,首先调用构造函数
//p是指针类型,必须开一个空间
p->aa();//调用A中的aa
printf("\n");
p->bb();//优先调用重载后B中的bb,如果B中没重载bb就调用A中的bb
//B *p1=new A;是不行的,是能B继承A
printf("\n");
B p1;
printf(" ");
p1.aax();
printf(" ");
p1.aa();//B继承了A的构造函数,所以先执行的A的构造函数
return 0;
}
继承关系中的函数调用
猜你喜欢
转载自blog.csdn.net/dt_zhangshuo/article/details/79121128
今日推荐
周排行