我寫了一段代碼,其中有一個抽象基類。 Tiger和Class Lion幾乎都是從Animal Base Class繼承而來的。獅子從獅子和老虎繼承。當我嘗試創建一個Liger對象並訪問漫遊功能時,出現「模糊訪問步行」錯誤。我已經使用虛擬繼承來避免鑽石問題。任何人都可以幫助我解決這個問題。在抽象類中克服鑽石含糊不清
#include "stdafx.h"
#include <iostream>
using namespace std;
class Animal
{
public:
virtual void walk() = 0;
};
class Lion : virtual public Animal
{
public:
void walk()
{
cout<<"Animal Walking"<<endl;
}
};
class Tiger : virtual public Animal
{
public:
void walk()
{
cout<<"Animal Walking"<<endl;
}
};
class Liger : public Lion , public Tiger
{
public:
};
int _tmain(int argc, _TCHAR* argv[])
{
Liger lig;
lig.walk();
return 0;
}
您從未爲'Liger'定義'walk'函數。 – NathanOliver