所以我想重載operator+
。這是我到目前爲止,但它仍然無法正常工作。我將如何寫入語法? 頭文件:如何超載運算符+
private:
int month;
int year;
int day;
public:
upDate();
upDate(int M, int D, int Y);
void setDate(int M, int D, int Y);
int getMonth();
int getDay();
int getYear();
int getDateCount();
string getMonthName();
friend upDate operator+(const upDate &lhs, const upDate &rhs);
我.cpp文件
upDate::upDate()
{
month = 12;
day = 12;
year = 1999;
}
upDate::upDate(int M, int D, int Y)
{
month = M;
day = D;
year = Y;
}//end constructor
void upDate::setDate(int M, int D, int Y)
{
month = M;
day = D;
year = Y;
}//end setDate
int upDate::getMonth()
{
return month;
}//end get Month
int upDate::getDay()
{
return day;
}//end getDate
int upDate::getYear()
{
return year;
}//end getYear
upDate operator+(const upDate &lhs, const upDate &rhs)
{
upDate temp;
temp.day = lhs.day + rhs.day;
return (temp);
}
在我主我
upDate D1(10,10,2010);//CONSTRUCTOR
upDate D2(D1);//copy constructor
upDate D3 = D2 + 5;//add 5 days to D2
upDate D4 = 5 + D2;// add 5 days to D2
的錯誤是,我不能一個對象添加到一個int。我嘗試過它的工作方式,但它只適用於D3 = D2 + 5而不是D4。任何幫助,將不勝感激。
2月12日加5月30日是什麼? – 2013-05-08 22:57:51
4月1日@ @ KerrekSB – 2013-05-08 23:28:01
@Kerrek:假設我們的約會系統在接下來的138億年左右保持一致,大約在今年1月10日13797295634. – 2013-05-08 23:35:47