定义类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
#include
using namespace std;
class Y;
class Z;
class Y{
public:
void g(X* pa);
};
class X{
private:
int i;
public:
X(){ i=0; }
friend void Y::g(X* pa);
friend class Z;
friend void h(X* pa);
};
class Z{
public:
void f(X* pa){ pa->i += 5; }
};
void Y::g(X* pa){ pa->i++; }
void h(X* pa){ pa->i += 10; }
请问程序哪里有问题?