《原神攻略》他鄉迷失客任務步驟說明
阿新 • • 發佈:2022-04-09
C++允許一個類繼承多個類
語法: class 子類 :繼承方式 父類1 , 繼承方式 父類2...
多繼承可能會引發父類中有同名成員出現,需要加作用域區分 ,所以C++實際開發中不建議用多繼承
示例:
class Base1 { public: Base1() { m_A = 100; } public: int m_A; }; class Base2 { public: Base2() { m_A = 200; //開始是m_B 不會出問題,但是改為mA就會出現不明確 } public: int m_A; };//語法:class 子類:繼承方式 父類1 ,繼承方式 父類2 class Son : public Base2, public Base1 { public: Son() { m_C = 300; m_D = 400; } public: int m_C; int m_D; }; //多繼承容易產生成員同名的情況 //通過使用類名作用域可以區分呼叫哪一個基類的成員 void test01() { Son s; cout << "sizeof Son = " << sizeof(s) << endl; cout<< s.Base1::m_A << endl; cout << s.Base2::m_A << endl; } int main() { test01(); system("pause"); return 0; }
總結: 多繼承中如果父類中出現了同名情況,子類使用時候要加作用域