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

关于运算符重载!该如何解决

2012-02-14 
关于运算符重载!!请教:自定义string类。头文件中,constString&operator(constString&)去掉(constString&)

关于运算符重载!!
请教:自定义string类。
头文件中,const   String   &   operator   =   (const   String   &);
去掉(const   String   &)中的const。(对应中的cpp中也去掉)。
那么在使用的时候,执行s   =   temp;其中,s是string   型,而temp是char   数组。
问,为何必须加const才能编译过去。其实我的问题就是关于自定义类型的强制转换。谢谢!!

[解决办法]
C++规定:非const引用不可以加在临时变量上。所以,必须加const。
[解决办法]
要注意, 从char 类型数组或指针到 String 引用参数
的转换必然会产生临时对象, 而c++不允许非常量引用产生临时对象,所以必须
用const String &

热点排行