有以下程序
#include<iostream>
using namespace std;
static int days []=31,28,31,30,31,30,3l,31,30,31,30,31;
class date
private:
int month,day,year;
public:
date(int m,int d,int y)
month=m;
day=d;
year=y;
date()
void disp()
cout<<year<<"-"<<month<<"-"<<day<<end1;
date operator+(int day)
date dt=*this;
day+=dt.day;
while(day>days[dt.month-1])
day-=days[dt.month-1];
if(++dt.month==13)
dt.month=1;
dt.year++;
dt.day=day;
retrn dt;
;
int main()
date d1(6,20,2004),d2;
d2=d1+20;
d2.disp();
return 0;
执行后的输出结果是
A.2004-7-10
B.2004-6-20
C.2004-7-20
D.程序编译时出错
参考答案:A
解析: 本题考核运算符的重载。本题通过将“+”运算符重载为类date的成员函数实现简单的对象加法,