溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

友員函數和友員類

發(fā)布時間:2020-08-05 08:38:25 來源:網絡 閱讀:391 作者:神跡難覓 欄目:編程語言

#include<iostream>

using namespace std;

class Test2//注意友員類的定義放在Test1的之上?。?/p>

{

friend class Test1;//Test1想直接訪問Test2的private參數,所以聲明為我是你的朋友!

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;//因為Test2是Test1的友員


};

class Test3{

public:

friend int getTx(Test3 & t3);//友員函數通過類的指針或引用訪問這個類對象的私有成員

private:

//friend int getTx(Test3 & t3);//放在這里完全一樣,訪問限制符對友員函數不管用

int x;

};

int getTx(Test3 & t3){//友員函數在類外定義!不加static防止給別的混淆

return t3.x;//友員函數可以使用類的所有函數

}

int main(){

Test1 t1(2,5);

t1.print();

system("pause");

return 0;


}


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI