不是很明白类的操作符号重载概念。。

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:35:18
1、在没有做操作符重载情况下,直接把同类两个对象用“+”操作,能否编译?

2、

Time operatetor*(double m,const Time &t)
{
Time result;
long totalminutes = t.hours * mult * 60 + t.minutes * mult;
reslut.hours = totalminutes / 60;
reslut.minutes =totalminutes % 60;
return result;
}

问:“const Time &t”这个形参是什么意义?
我的理解是“把这个参数引用为不可更改,Time t的类?”如果t的参数是 fly,那么参数就是Time类的fly对象了,不知道这样理解对不?

(1)
不可以。你可以把操作符也理解为一个函数,试想对没有定义的函数你可以调用它么?编译当然通不过。

(2)
这样理解是正确的。之所以使用const关键字声明它,是为了防止在类中意外的对参数进行了更改,这是良好的编程习惯,不应该更改的地方,就通知编译器,以减少人为出现错误的机会。

不可以