#include
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供安鄉(xiāng)網(wǎng)站建設(shè)、安鄉(xiāng)做網(wǎng)站、安鄉(xiāng)網(wǎng)站設(shè)計(jì)、安鄉(xiāng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、安鄉(xiāng)企業(yè)網(wǎng)站模板建站服務(wù),10年安鄉(xiāng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
using namespace std;
class Test2//注意友員類的定義放在Test1的之上??!
{
friend class Test1;//Test1想直接訪問Test2的private參數(shù),所以聲明為我是你的朋友!
public:
Test2(int a, int b){ x = a; y = b; }
int getx(){
return x;
}
int gety(){
return y;
}
private:
int x, y;
};
class Test1{
public:
Test1(int a, int b) :t(a, b){}
void print(){ cout << "Test2 的對象t的x:" << t.x << endl; }
private:
Test2 t;//因?yàn)門est2是Test1的友員
};
class Test3{
public:
friend int getTx(Test3 & t3);//友員函數(shù)通過類的指針或引用訪問這個(gè)類對象的私有成員
private:
//friend int getTx(Test3 & t3);//放在這里完全一樣,訪問限制符對友員函數(shù)不管用
int x;
};
int getTx(Test3 & t3){//友員函數(shù)在類外定義!不加static防止給別的混淆
return t3.x;//友員函數(shù)可以使用類的所有函數(shù)
}
int main(){
Test1 t1(2,5);
t1.print();
system("pause");
return 0;
}