定义类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()函数。
代码我会写,可是如何实现“在一个文件中定义和实现类,在另一个文件中实现main()函数。”?麻烦说详细一点,谢谢!!!
class Y{
public:
void g(X *p);
};
class X{
public:
X(int _i);
int display(){return i;}
friend void Y::g(X *p);
friend class Z;
friend void h(X *p);
private:
int i;
};
class Z{
public:
void f(X *p){p->i+=5;}
};
X::X(int _i){i=_i;}
void Y::g(X *p){p->i++;}
void h(X *p){p->i+=10;}
void main(){
X x(5);Y y;Z z;
cout<<"i="<<x.display()<<endl;
y.g(&x);
cout<<"i="<<x.display()<<endl;
z.f(&x);
cout<<"i="<<x.display()<<endl;
h(&x);
cout<<"i="<<x.display()<<endl;
}