在下面程序的横线处填上______,使程序执行后的输出结果为1/2005。 #include<iostream.h> using namespace std; class Date { Public: Date(int m=1,int y=0): month(m),year(y){} void Print(){cout<<month<<"/"<<year<<end1;} ______operator+(const Date&d1,const Date&d2); private: int month, year; }; Date operator+(const Date&d1,const Date&d2) { int year,month; year=d1.year+d2.year; month=d1.month+d2.month; year+=(month-1)/12; month=(month-1)%12+1; return Date(month,year); } void main() { Date d1(3,2004),d2,d3(10); d2=d3+d1; d2.Print(); }
参考答案:friend Date
解析: 此题考查的是类与对象以及运算符的重载。题目中“+”重载函数的参数表中有两个参数,所以是作为友元函数重载,实现的功能是将参数对象中成员变量month、year进行相应对加。题中重载幽数的返回值类型是类Date,所以应填入“friend Date”。