2
根據下圖,我寫了我的代碼。 多類繼承?
這是我寫的代碼:
#include<iostream>
#include<string>
using namespace std;
class person
{
private:
int code;
string name;
public:
void setCode(int c) { code=c; }
int getCode() { return code; }
void setName(string s) { name=s; }
string getName() { return name; }
};
class account : public person
{
private:
double pay;
public:
void setPay(double p) { pay=p; }
double getPay() { return pay; }
};
class admin : public person
{
private:
string experience;
public:
void setExper(string e) { experience=e; }
string getExper() { return experience; }
};
class master : public account, public admin
{
};
int main()
{
master mastObj;// create master object.
mastObj.setName("John");
system("pause");//to pause console screen, remove it if u r in linux
return 0;
}
編譯器顯示這些錯誤:
Error 1 error C2385: ambiguous access of 'setName'
Error 2 error C3861: 'setName': identifier not found
Error 3 IntelliSense: "master::setName" is ambiguous
首先,你的問題的標題是不是一個實際的問題,無論是問號在句末。其次,最好實際描述一個問題,解釋你到目前爲止所嘗試的內容,而不是僅僅粘貼一段代碼,並讓其他人修復它。 –
你的代碼格式有點亂。代碼也適用於人類:)特別是因爲你想_us_閱讀它。 – sehe
[虛擬繼承混亂]的可能重複(http://stackoverflow.com/questions/8148470/virtual-inheritance-confusion) – Nawaz