新微赢技术网
标题:
【求助】操作符重载问题
[打印本页]
作者:
天山花芯
时间:
2009-11-3 03:04
标题:
【求助】操作符重载问题
定义了一个类
class A
{
int a[10];
......
};
怎么定义“==”“>”“<”的重载
作者:
熾天使rose
时间:
2009-11-3 03:04
int & operator==(const A&S1,const A&S2)
{
for(int i=0,intj=0;i<10;i++)
{
if(s1.a[i]==s2.a[i])
{
j++;
}
}
if(j=10){return 1;}
else{return 0;}
}
LZ,BOOL 也可
剩下的类似 变个符号 和里面的判断条件
作者:
Оo水流影在.
时间:
2009-11-3 03:04
谢谢二楼的大哥帮忙
作者:
温柔乡
时间:
2009-11-3 03:04
不应该返回引用
作者:
简单快乐
时间:
2009-11-3 03:04
楼上的能否解释一下,如果返回引用会产生什么问题呢?return 1;对1返回引用到底会怎样呢?
作者:
嫣幻霏然
时间:
2009-11-3 03:04
嘿嘿,你返回了引用的话就会出现隐患,因为引用一个常量是没有意义的,当有人恶意地将 (a==b)=2的时候,程序就运行错误,
一般来说都是将重载运算符号定义为成员变量,如果要返回值就可以return *this,这样就有效防止copy constructor
作者:
太阳神
时间:
2009-11-3 03:04
我师傅来了
明白那个问题了
作者:
鰰﹎話
时间:
2009-11-3 03:04
以下是引用热情依然在2006-6-9 13:11:34的发言:
嘿嘿,你返回了引用的话就会出现隐患,因为引用一个常量是没有意义的,当有人恶意地将 (a==b)=2的时候,程序就运行错误,
一般来说都是将重载运算符号定义为成员变量,如果要返回值就可以return *this,这样就有效防止copy constructor
恩,是有问题 ,谢拉
没考虑这么多,嘿嘿
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2