首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

覆盖的是哪个种的

2012-10-18 
覆盖的是哪个类的?class A{public:virtual void fun(){}}class B{public:virtualvoid fun(){}}class C :

覆盖的是哪个类的?
class A
{
public:
virtual void fun(){}
};


class B
{
public:
virtualvoid fun(){}
};


class C :public A,public B
{
void fun() //覆盖那个基类的函数
{

}
};


int main()
{
return 0;
}

[解决办法]
虚函数是两个父类都被覆盖了,所以哪怕把C赋给指向A或B的引用:

声明为virtual的函数只能有一个版本,就是实际生成的对象的版本。如果生成实际的对象是C,因为C继承了A和B,而A和B都有func,有了两个版本的func所以会产生歧义,也就是C中的必须有一个func来覆盖A和B……

热点排行