1. 程式人生 > 其它 >【JVM】10道不得不會的JVM面試題

【JVM】10道不得不會的JVM面試題

 

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; }

總結: 多繼承中如果父類中出現了同名情況,子類使用時候要加作用域