目录
- 一、程序及输出
- 二、分析与总结
一、程序及输出
多继承的基本语法如下:
class Base1 {
// Base1 class definition
};
class Base2 {
// Base2 class definition
};
class Derived : public Base1, protected Base2 {
// Derived class definition
};
#include<iostream>
using namespace std;class Base1
{
public:Base1(){this->m_A = 10;}int m_A;
};class Base2
{
public:Base2(){this->m_A = 20;}int m_A;
};//多继承
class Son : public Base1, public Base2
{
public:int m_C;int m_D;
};void test01()
{cout << "sizeof Son = " << sizeof(Son) << endl;Son s;//当多继承的两个父类中有同名成员,需要加作用域区分cout << s.Base1::m_A << endl;cout << s.Base2::m_A << endl;
}int main(){test01();system("pause");return EXIT_SUCCESS;
}
输出:
当多继承的两个父类中有同名成员,需要加作用域区分,否则会不明确
。
二、分析与总结
在 C++ 中,多继承是指一个派生类可以同时继承自多个基类。
多继承的基本语法
:
class Base1 {
// Base1 class definition
};
class Base2 {
// Base2 class definition
};
class Derived : public Base1, protected Base2 {
// Derived class definition
};
注意事项
:
一个派生类可以同时继承自多个基类,通过逗号分隔每个基类。
可以为每个基类指定不同的访问权限,包括 public, protected, private。
派生类可以访问多个基类的成员,但需要根据继承时指定的访问权限来确定访问权限。
如果多个基类有同名成员,需要使用作用域解析符号 :: 来指定访问特定基类的成员。