标题:关于友元函数的问题。。。
只看楼主
xunmi_1993
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2012-7-3
结帖率:100%
已结贴  问题点数:5 回复次数:6 
关于友元函数的问题。。。
如果定义了一个类Nodefault和类C,类C中有一个Nodefault类型对象,再把类C中的一个成员函数定义为类Nodefault的一个友元函数,看代码:
#include <string>
#include <fstream>
#include <iostream>
using namespace std;

class Nodefault{
public:
    Nodefault(){}
    Nodefault(int t):n(t){}
    friend class C::get();
    friend class C::set();
private:
    int n;
};

class C{
public:
    Nodefault nodef;
    istream istr;
    C(istream &sdt=cin):istr(sdt){}
    void set(){
        istr>>nodef.n;
    }
    void get(){
        cout<<nodef.n<<endl;
    }
};


int main(){
    C c;
    c.set();
    c.get();
    return 0;
}
搜索更多相关主题的帖子: include private public friend 
2012-07-22 15:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:2 
看代码
------ 看了,一手好字,但你的问题是什么
2012-07-23 08:13
全世界安静
Rank: 2
等 级:论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
得分:2 
friend void class C::get();
 friend void class C::set();
函数类型。。
2012-07-23 09:56
liudw2
Rank: 4
等 级:业余侠客
帖 子:85
专家分:248
注 册:2011-7-31
得分:2 
不是应该是这样吗?friend void c::get()的吧,都说了要友元函数,要类来干什么
2012-07-23 10:52
xunmi_1993
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2012-7-3
得分:0 
回复 4楼 liudw2
嗯。。。。换成friend void c::get();也不行。。。。
2012-07-23 14:59
xunmi_1993
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2012-7-3
得分:0 
回复 3楼 全世界安静
是的。。。但换了也不行。。。。
2012-07-23 15:01
xunmi_1993
Rank: 2
等 级:论坛游民
帖 子:15
专家分:20
注 册:2012-7-3
得分:0 
是因为类C没有定义。。。
2012-07-23 15:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-373886-1-1.html




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

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