首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这程序小弟我改了,但不知道是不是作者的原意,大家给点意见

2012-03-05 
这程序我改了,但不知道是不是作者的原意,大家给点意见。辨析下面程序存在的错误(参照语句行号),并加以改正.

这程序我改了,但不知道是不是作者的原意,大家给点意见。
辨析下面程序存在的错误(参照语句行号),并加以改正.
01   #   include   <iostream>
02   using   namespace   std;
03   class   Date;  
04   class   Time
05   {
06   public:
07                 Time(int,int,int);
08           void   display(const   Date&);
09   private:
10           int   hour,minute,sec;
11   };
12   class   Date
13   {
14   public:
15           Date(int,int,int);
16           friend   void   Time::display(const   Date   &);
17   private:
18           int   month,day,year;
19   };
20   Time::Time(int   h,int   m,int   s)
21   {
22                 hour=h;   minute=m;         sec=s;
23   }
24   void   Time::display(const   Date   &da)
25   {
26                 cout < <da.month < < "/ " < <da.day < < "/ " < <da.year < <endl;
27                 da.month=4;   da.day=27;   da.year=2005;
28         cout < <hour < < ": " < <minute < < ": " < <sec < <endl;
29         return;
30   }  
31   Date::Date(int   m,int   d,int   y)
32   {
33                 month=m;   day=d;   year=y;
34   }
35   int   main()
36   {
37                 const   Time   t(9,30,0);
38                 Date   d(4,27,2005);
39                 t.display(d);
40                 return   0;
41   }
答:
27行:常引用做形参,在函数中不能更新所引用的对象.     用//注释掉
37行:去掉const
===========
但我不知道27行的直接注释掉符不符合作者的意愿。
33行为什么有const就会出错?


[解决办法]
啥子?
[解决办法]
maRK一个,楼下的注解
[解决办法]
39行 t.display(d);
24行 void Time::display(const Date &da) // 参数是const引用,da也就是个常量

27行 da.month=4; da.day=27; da.year=2005;
怎么能修改常量的值呢? da.month也不行

热点排行