有以下程序
#include <iostream>
using namespace std;
static int days []=31,28.31,30,31,30,31,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 -= tays[ dt.month - 1 ];
if ( ++dt.month == 13
dt.month = 1;
dt.yeare++;
dr. day = day;
return 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的成员函数实现简单的对象加法。