在name.h中定義類class,他有三個構(gòu)造函數(shù)Name();Name(char *first);Name(char *first, char *last);這三個構(gòu)造函數(shù)的實(shí)現(xiàn)在name.cpp中。(這時程序沒有問題)如果利用默認(rèn)參數(shù),構(gòu)造函數(shù)為Name(char *first="default",char *last="default"); (在name.h中)Name::Name(char *first="default",char *last="default") (name.cpp中為){strcpy(firstname,first);strcpy(lastname,last);}程序中出現(xiàn)兩個問題error C2572: 'Name::Name' : redefinition of default parameter : parameter 2c:\documents and settings\administrator\桌面\name.h(11) : see declaration of 'Name::Name'error C2572: 'Name::Name' : redefinition of default parameter : parameter 1c:\documents and settings\administrator\桌面\name.h(11) : see declaration of 'Name::Name'怎么改正在這種情況下才能正常運(yùn)行如果程序?yàn)镹ame(char *first="default",char *last="default") (name.h中){strcpy(firstname,first);strcpy(lastname,last);}則程序沒沒問題
3 回答

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊
構(gòu)造函數(shù)定義改為
Name::Name(char *first,char *last) (name.cpp中為)
{
strcpy(firstname,first);
strcpy(lastname,last);
}

開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊
我覺得不必使用默認(rèn)值,你可以在構(gòu)造函數(shù)Name()中實(shí)現(xiàn)
Name::Name()
{
strcpy(firstname,"default");
strcpy(lastname,"default");
}

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊
解決辦法:
Name(char *first="default",char *last="default");(name.h中)
Name::Name("default", "default") (name.cpp中為)
{
strcpy(firstname,first);
strcpy(lastname,last);
}
應(yīng)該就OK了
添加回答
舉報
0/150
提交
取消