http://zhidao.baidu.com/question/348527367.html
C++ 友元函数问题
定义类X,Y,Z,使之满足以下几个条件:类X有么一个私有成员i,类Y的一个成员函数f是类X的友元函数,实现对X的i加1操作。类Z是类X的友元类,Z的一个成员函数g实现对X的i加2操作。函数h是类X的友元函数,实现对X的i加3操作。我来帮他解答
#include <iostream> using namespace std; class X; class Y { public: void add(X& x);//´Ë´¦º¯ÊýÖ»Äܹ»ÉùÃ÷£¬·ñÔò»á³ö´í¡£ }; class Z { public: void add(X&x); }; class X { int data; public: X(int data):data(data){} friend void Y::add(X& x);//ÀàÖеĺ¯ÊýµÄÓÑÔª friend Z;//ÀàµÄÓÑÔª friend void add(X& x);//Íⲿº¯Ê½ÎªÓÑÔª }; void Y::add(X& x) { x.data++; } void Z::add(X& x) { x.data+=2; } void add(X& x) { x.data+=3; } int main() { return 0; }