问题 填空题

在下面程序的横线处填上______,使程序执行后的输出结果为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”。

判断题
多项选择题