首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-04-25 
友元成员函数C/C++ code#includeiostreamusing namespace stdclass Aclass B{public:void set(A &a){a

友元成员函数

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();} 

热点排行