有以下程序 #include<iostream> using namespace std; static int days []={31,28,31,30,31,30,3l,31,30,31,30,31}; class date

admin2010-03-29  61

问题 有以下程序    #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、程序编译时出错

答案1

解析 本题考核运算符的重载。本题通过将“+”运算符重载为类date的成员函数实现简单的对象加法,
转载请注明原文地址:https://jikaoti.com/ti/TiW0FFFM
0

最新回复(0)