自考新教材-p195

源程序:

#include<iostream>
using namespace std;

class CB1
{
public:
int a; //重名
CB1(int x)
{
a=x;
}
void showa() //重名
{
cout<<"Class CB1==>a="<<a<<endl;
}
};

class CB2
{
public:
int a; //重名
CB2(int x)
{
a=x;
}
void showa() //重名
{
cout<<"Class CB2==>a="<<a<<endl;
}
};

class CD:public CB1,public CB2 //多重继承,两个基类
{
public:
int a;
CD(int x,int y,int z):CB1(x),CB2(y)
{
a=z;
}
void showa() //与两个基类成员变量a重名
{
cout<<"Class CD ==>a="<<a<<endl;
}
void print3a() //分别输出派生类的a及其两个基类的重名成员a
{
cout<<"a="<<endl;
cout<<"CB1::a="<<CB1::a<<endl;
cout<<"CB2::a="<<CB2::a<<endl;
}
};

int main()
{
CB1 CB1obj(11);
CB1obj.showa();
CD CDobj(101,202,909);
CDobj.showa(); //调用派生类showa()
CDobj.CB1::showa(); //调用基类shaowa()
cout<<"CDobj.a="<<CDobj.a<<endl; //访问派生类成员a
cout<<"CDobj.CB2::a="<<CDobj.CB2::a<<endl; //访问基类CB2中的成员a
return 0;
}

运行结果:

原文地址:https://www.cnblogs.com/duanqibo/p/12259860.html