注册 登录
编程论坛 C++教室

关于友元函数的问题。。。

xunmi_1993 发布于 2012-07-22 15:55, 429 次点击
如果定义了一个类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;
}
6 回复
#2
rjsp2012-07-23 08:13
看代码
------ 看了,一手好字,但你的问题是什么
#3
全世界安静2012-07-23 09:56
friend void class C::get();
 friend void class C::set();
函数类型。。
#4
liudw22012-07-23 10:52
不是应该是这样吗?friend void c::get()的吧,都说了要友元函数,要类来干什么
#5
xunmi_19932012-07-23 14:59
回复 4楼 liudw2
嗯。。。。换成friend void c::get();也不行。。。。
#6
xunmi_19932012-07-23 15:01
回复 3楼 全世界安静
是的。。。但换了也不行。。。。
#7
xunmi_19932012-07-23 15:01
是因为类C没有定义。。。
1