读书人

友元成员函数,该如何处理

发布时间: 2012-04-25 19:32:32 作者: rapoo

友元成员函数

C/C++ code
#include<iostream>using namespace std;class A;class B{public:    void set(A &a)    {        a.a=100;    }};class A{public:    void print()    {        cout<<a<<endl;    }    friend void B::set(A &a);private:    int a;};void main(){    A a;    B b;    b.set(a);    a.print();}
这段程序错在哪呢

[解决办法]
如果要使用类中的成员等,需要看得见类的定义,修改如下:
C/C++ code
#include<iostream>using namespace std;class A;class B{public:    void set(A &a);};class A{public:    void print()    {        cout<<a<<endl;    }    friend void B::set(A &a);private:    int a;};void B::set(A &a){    a.a=100;}int main(){    A a;    B b;    b.set(a);    a.print();} 

读书人网 >C++

热点推荐