C++中的友元函数和友元类
#include <iostream>
using namespace std;
class myClass1
{
public :
? myClass1():n(0){};
? void setn(int tmpn){this->n=tmpn;}
? void show(){cout<<n<<endl;}
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默覺得:"<<endl;
??? p1.show();
??? cout<<"使用myClass1自己的成員函數設置后:"<<endl;
??? p1.setn(100);
??? p1.show();
??? cout<<"使用友元函數設置后:"<<endl;
??? setnF1(p1,101);
??? p1.show();
??? cout<<"使用友元類設置后:"<<endl;
??? p2.setnF2(p1,102);
??? p1.show();
??? return 0;
}
運行結果:(點擊圖片可放大)
總結
以上是生活随笔為你收集整理的C++中的友元函数和友元类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySql分区表性能测试及切换案例
- 下一篇: s3c2440移植MQTT