我檢查了類繼承的語法,我很確定我沒有錯誤?有什麼東西從我身上溜走?類繼承代碼不起作用
class person
{
public:
int personid;
string personname;
string personadress;
person(int apersonid, string apersonname, string apersonadress)//constructor
{
personid=apersonid;
personname=apersonname;
personadress=apersonadress;
}
int getpersonid()
{
return personid;
}
string getpersonname()
{
return personname;
}
string getpersonadress()
{
return personadress;
}
};
class employee: public person
{
public:
int commission;
employee(int _commission, int apersonid, string apersonname, string apersonaddress) : person(apersonid, apersonname, apersonaddress)
{
commission= _commission;
}
int getcommission()
{
return commission;
}
};
我得到的錯誤是
錯誤1錯誤C2512: '人':沒有適當的默認構造函數 可用
構造函數上的不同簽名。在其他語言中,繼承類隱式地使用相同的簽名調用基類的構造函數。所以我會建議使用相同的參數編寫一個構造函數,或者顯式地調用基礎構造函數。只是猜測,因爲我不知道你在用什麼語言。 –
使用的語言是C++ .. –
[使用初始化列表](http://makecleanandmake.com/2014/10/31/c-anitpatterns-the-java-constructor-and-final-vs-const/) –