c++允许一个类继承多个类
语法: class 子类名 : 继承类型 父类名 ,(用于分割) 继承类型 父类名…….
多继承可能引发父类中有同名成员出现,需要加作用域区分
c++实际开发中不建议用多继承
#include<iostream>
using namespace std;
class Base1
{
public:
Base1()
{
m_a=100;
}
int m_a;
};
class Base2
{
public:
Base2()
{
int m_a=200;
}
int m_a;
};
//子类需要继承Base1和Base2。
//语法: class 子类名 : 继承类型 父类名 ,(用于分割) 继承类型 父类名.....
class son:public Base1,public Base2
{
public:
son()
{
m_c=1;
m_d=2;
}
int m_c;
int m_d;
};
void show()
{
son p;
cout<<"子类p占用的内存空间"<<sizeof(p)<<endl;
cout<<"Base1 的值="<<p.Base1::m_a<<endl;
cout<<"Bsea2 的值="<<p.Base2::m_a<<endl;
}
int main()
{
show();
return 0;
}