友元成员函数
- 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();}