C++オブジェクト向け関数のリロード
1159 ワード
データメンバーyear(年)、month(月)、day(日)、コンストラクタを定義する日付クラスDateを設計します.要求:(1)再ロード日に日数を加算する加算演算子+(例えば、1つの日付に10日を加算する);(2)リロード日の自己加算演算子+;(30日以内に入力する必要があります).
#include
using namespace std;
class Date
{
public:
Date(){year=0;month=0;day=0;}
Date(int y,int m,int d):year(y),month(m),day(d){}
void display();
Date operator+(int num);
Date operator++();// ++
Date operator++(int);// ++, ++ , int
private:
int year;
int month;
int day;
};
void Date::display()
{
cout<=30)
{
month++;
day=day-30;
if(month>=12)
{
year++;
month=1;
}
}
if(day<30) flag=0;
}
return Date(year,month,day);
}
Date Date::operator++()
{
day++;
if(day>=30)
{
month++;
day=1;
if(month>=12)
{
year++;
month=1;
}
}
return Date(year,month,day);
}
Date Date::operator++(int)
{
day++;
if(day>=30)
{
month++;
day=1;
if(month>=12)
{
year++;
month=1;
}
}
return Date(year,month,day);
}
int main()
{
Date d1(2018,11,13),d2;
d1.display();
cout<