| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖
标题:关于运算符的重载问题
取消只看楼主 加入收藏
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
 问题点数:0 回复次数:3 
关于运算符的重载问题

class Set
{
public:
friend Set operator +(const Set&);
int array[10];
}
请问我在这里friend Set operator +(const Set&);为什么不用friend就错呢?而且(const Set&);这里面非要用const呢?不用就报错呢?

搜索更多相关主题的帖子: 重载 运算符 
2006-07-17 12:14
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
得分:0 

是没人说非要用const,但是我要是不用的话,编译器就说我这个运算符重载函数是暧昧的?
我就不明白这是为什么?
还有friend也是一样的,不加就说是暧昧的。
书上说:加了friend,可以直接访问私有的,但是这里,如果把数组设为私有的话,在main()函数里访问的话就报错啊!

2006-07-17 12:34
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
得分:0 
class Set
{
public:
friend Set operator +(const Set&);
int array[10];
}
Set operator +(const Set& s)
{
//code
}
main()
{
Set s1,s2,s3;
s1=s2+s3;
}
2006-07-17 12:59
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
得分:0 
我想请问一下,书上说,friend可以访问私有的变量,我把int array[10];
设为私有的,为什么会编译通不过呢?
2006-08-25 20:51
快速回复:关于运算符的重载问题
数据加载中...
 
   



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

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