选择题   有以下程序
      #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 -= days[ dt.month - 1 ];
            if ( ++dt.month == 13 )
            {
              dt.month = 1;
              dt.year++;
            }
        }
          dt.day = day;
          return dt;
    };
    int main()
    {
        date d1( 6, 20, 2004 ), d2;
        d2: d1 + 20;
        d2.disp();
        return 0;
    }
    执行后的输出结果是 
 
【正确答案】 A
【答案解析】本题考核运算符的重载。本题通过将“+”运算符重载为类date的成员函数实现简单的对象加法。