打印

函数声明问题

[复制链接]
987|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2012-5-17 21:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
友元函数应该只能声明在别的类中啊,以下是什么情况:
class X
{
public:
    X()
    {
        memset(a,
0,sizeof(int)*sz);    }    friend std::ostream&
operator<<(std::ostream& os,const X& x)    -----如果是定义那又何必用友元喃?
    {
        
for(int i =
0;i < sz;i++)
        {
            os
<< x.a <<
"
";
        }
        
return os;
    }
private:
   
enum{sz =
5};
   
int a[sz];
};

相关帖子

沙发
火箭球迷| | 2012-5-17 22:04 | 只看该作者
申明和定义在一起了,没有什么特别的情况

使用特权

评论回复
板凳
yybj| | 2012-5-17 22:11 | 只看该作者
友元函数没有this指针,因而它通常不是一个类的成员函数。
重载<<, >>必须用友元函数

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝