4.6.7多继承语法

语法:class子类:继承方式 父类 1,继承方式 父类2....

多继承:可能会引发父类中同名成员的出现,需要加作用域区分

#include
#include
using namespace std;

class Base1
{
public:
	Base1()
	{
		m_A=100;
	}
	int m_A;
};

class Base2
{
public:
	Base2()
	{
		m_A = 200;
	}
	int m_A;
};

//子类 需要继承Base1()和Base2()

class Son :public Base1, public Base2
{
public:
	Son()
	{
		m_C = 300;
		m_D = 300;
	}
	int m_C;
	int m_D;
};


void test01()
{
	Son s;
	cout << "sizeof  Son=" << sizeof(s) << endl;
	// 当父类中出现同名成员,需要加作用域区分  
	cout << "Base1::m_A=" << s.Base1::m_A << endl;
	cout << "Base2::m_A=" << s.Base2::m_A << endl;
}

int main()
{   
	test01(); 
	return 0;
}

你可能感兴趣的:(c++)