#include using namespace std;
class myClass1 { public : myClass1():n(0){};
void setn(int tmpn){this->n=tmpn;}
void show(){cout<
private:
//友元类 friend class myClass2; //使用友元函数来改变myclass1中成员变量n的值 friend void setnF1(myClass1 & tmpClass,int tmpn);
int n; };
class myClass2 { public: //使用友元类中的成员函数来改变myclass1中成员变量n的值 void setnF2(myClass1 & tmpClass,int tmpn){tmpClass.n=tmpn;}
};
void setnF1(myClass1 & tmpClass,int tmpn) { tmpClass.n=tmpn; }
int main() { myClass1 p1; myClass2 p2; cout<<"p1的成员变量n默认为:"< p1.show();
cout<<"使用myClass1自己的成员函数设置后:"< p1.setn(100); p1.show();
cout<<"使用友元函数设置后:"< setnF1(p1,101); p1.show();
cout<<"使用友元类设置后:"< p2.setnF2(p1,102); p1.show();
return 0; }
|