| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:【求助】操作符重载问题
只看楼主 加入收藏
pop3836
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-7
收藏
 问题点数:0 回复次数:7 
【求助】操作符重载问题
定义了一个类
class A
{

int a[10];
......
};

怎么定义“==”“>”“<”的重载
搜索更多相关主题的帖子: 操作符 重载 定义 int 
2006-06-08 19:25
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
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 也可
剩下的类似 变个符号 和里面的判断条件

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-08 19:36
pop3836
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-7
收藏
得分:0 

谢谢二楼的大哥帮忙

2006-06-08 21:17
ooooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2005-6-24
收藏
得分:0 

不应该返回引用


2006-06-09 11:37
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 
楼上的能否解释一下,如果返回引用会产生什么问题呢?return 1;对1返回引用到底会怎样呢?

2006-06-09 11:49
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 

嘿嘿,你返回了引用的话就会出现隐患,因为引用一个常量是没有意义的,当有人恶意地将 (a==b)=2的时候,程序就运行错误,
一般来说都是将重载运算符号定义为成员变量,如果要返回值就可以return *this,这样就有效防止copy constructor


c++/C + 汇编 = 天下无敌
2006-06-09 13:11
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
收藏
得分:0 
我师傅来了
明白那个问题了

2006-06-09 13:28
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用热情依然在2006-6-9 13:11:34的发言:

嘿嘿,你返回了引用的话就会出现隐患,因为引用一个常量是没有意义的,当有人恶意地将 (a==b)=2的时候,程序就运行错误,
一般来说都是将重载运算符号定义为成员变量,如果要返回值就可以return *this,这样就有效防止copy constructor

恩,是有问题 ,谢拉
没考虑这么多,嘿嘿


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-09 15:13
快速回复:【求助】操作符重载问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025915 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved