在下面程序的横线处填上______,使程序执行后的输出结果为1/2005。 #include<iostream.h> using namespace std; class Date { Public:  Date(int

admin2012-01-20  15

问题 在下面程序的横线处填上______,使程序执行后的输出结果为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”。
转载请注明原文地址:https://kaotiyun.com/show/kPVp777K
0

最新回复(0)