定义类 X、Y、Z,函数 h(X*),满足:类 X 有私有成员 i,Y 的成员函数 g(X*)是 X 的友元函数,实现对 X 的成员 i 加 1,类 Z 是类 X 的友元类,其成员函数 f(X*)实现对 X 的成员 i 加 5,函数 h(X*)是 X 的友元函数,实现对 X 的成员 i 加 10。在一个文件中定义和实现类,在另一个文件中实现main()函数。
解:
#include "my_x_y_z.h" void main() { X x; Z z; z.f(&x); } // my_x_y_z.h 文件 #ifndef MY_X_Y_Z_H class X; class Y { void g(X*); }; class X { private: int i; public: X(){i=0;} friend void h(X*); friend void Y::g(X*); friend class Z; }; void h(X* x) { x->i =+10; } void Y::g(X* x) { x->i ++; } class Z { public: void f(X* x) { x->i += 5; } }; #endif // MY_X_Y_Z_H
程序运行输出:无
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
解:
程序运行输出:无