友元函式
友元函式是可以訪問類的私有成員的函式。他一般是在類外定義的全域性函式,不屬於任何類。子啊使用前,需要在待訪問的類中申明。宣告時需要加上friend關鍵字。
格式:friend 資料型別 函式名(型別1 引數1…)
(在相應的類中申明)
class animal
friend void show(animal &obj); //宣告該函式為該類的友元。
};//全域性函式
void show(animal &obj)
int main()
友元類
若是乙個類a會頻繁的訪問另乙個類b中的私有成員,那麼我們可以把b的私有許可權向
a進行開發,這個開放方式,我們就叫做友元類。及b把a當作好朋友,a可以訪問b
中任何的資料。但是友元不具有傳遞性,友元為單向開放許可權。
格式:friend class 類名;
[注意:該類一定要存在,在**中某個地方定義過]
class girl;
//宣告girl類
class person
friend class girl;};
class girl
};
【如上面這段**中,在申明類girl為類person的友元時,需要先對girl進行申明,因為它的定義在類person的後面,需要告訴編譯器讓編譯器去找到該類】
【特點】
友元關係是單向的,不具備交換性。(如:我把你當好朋友,你不一定把我當做好朋友)
友元函式不具備傳遞性(如:你是我的好朋友,但是你的好朋友不一定是我的好朋友)
友元(友元函式 友元類 類成員函式的友元)
friend 友元機制 允許乙個類將對其非公有成員的訪問許可權授予指定的函式或者類。我們可以將友元大致分為3類 友元函式 是指某些雖然不是類的成員函式,但是能夠訪問這個類的所有成員的函式。比如我們下列的 include class test friend void show test rhs 宣告 ...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...