using namespace std;
/*
标题:多重继承的歧义性
描述:A1,A2,B三个class用来测试当两个父类有同样名称的抽象成员,
代码能不能通过编译并正常运行。
测试环境:VS2008SP1
测试结果:测试通过
*/
class A1
{
public:
virtual void OnProgress(unsigned taskid,float progress)=0;
};
class A2
{
public://同A1有相同的抽象成员
virtual void OnProgress(unsigned taskid,float progress)=0;
};
class B:public A1,public A2
{
public:
//A1、A2的共同实现
void OnProgress(unsigned taskid,float progress)
{
cout<<taskid<<"-----"<<progress<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
B b;
A1 *a1=&b;
A2 *a2=&b;
a1->OnProgress(1,1);
a2->OnProgress(2,1);
return 0;
}
多重继承的歧义性
最新推荐文章于 2023-08-18 11:20:58 发布