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分区表性能测试及切换案例
- 下一篇: 记录Ubuntu Windows下安装
