多重繼承出現的問題(1)

#include <iostream>

#include <iostream> 
using namespace std; 
class base0 
{ 
    public: 
        virtual void fun0a() = 0; 
    protected: 
        int var1a; 
}; 
class base1:public base0 
{ 
    public: 
        void fun0a() 
        { 
            cout<<"base1 inheritance from base0"<<endl; 
        } 
        void fun1a(); 
    protected: 
        int var1a; 
};

class base2:public base0 
{ 
    public: 
         void fun0a() 
        { 
            cout<<"base2 inheritance from base0"<<endl; 
        } 
        void fun2a(); 
    protected: 
        int var2a; 
};

class base3:public base1,public base2 
{ 
    public: 
        void fun3a() 
        { 
            cout<<"base2 inheritance from base1 and base2"<<endl; 
        }; 
    protected: 
        int var3a; 
}; 
int main() 
{ 
    base0 *Ba0; 
    base3 ba1; 
    Ba0 = &ba1; 
    //Ba0->fun0a(); 
    return 0; 
}

g++ -Wall -c "const_initial.cpp" (在目錄 E:\1_MYPROJECT\cTest\keyword 中) 
const_initial.cpp: In function 'int main()': 
const_initial.cpp:48:12: error: 'base0' is an ambiguous base of 'base3' 
編譯失敗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章