C++友元(Friend)用法實例簡介。本站提示廣大學習愛好者:(C++友元(Friend)用法實例簡介)文章只能為提供參考,不一定能成為您想要的結果。以下是C++友元(Friend)用法實例簡介正文
絕對於Java而言,友元是C++中獨有的一種元素,許多教材上對其引見的絕對較少,是以初學的時刻常常不克不及很快控制,本文總結了友元的用法和一些留意的處所,供年夜家參考自創。願望能對初學C++的同伙起到一點贊助感化。
操作步調:
1)在MyFriend類中,將Father類界說成友元
2)寫一個Son類繼續自Father類
3)在Father類和Son類的結構函數平分別創立MyFriend對象,並界說其外部的三個變量
4)在MyFriend類的結構函數中創立Father對象,並界說其外部的三個變量
成果及留意事項:
1)Father類中創立的MyFriend對象許可直接拜訪MyFriend類中一切變量
2)Son類中創立的MyFriend對象只許可直接拜訪MyFriend類中Public變量
3)由第二點可知,友元關系沒法繼續
4)MyFriend類中創立的Father對象只許可直接拜訪Father類中的Public變量
5)由第四點可知,友元關系是單向的,即A為B友元,B其實不是A的友元,須要別的零丁界說
MyFriend.h頁面代碼以下:
#include "Father.h" class MyFriend{ friend class Quote; //友元類直接如許界說就OK了 public: MyFriend(){ Father *p = new Father(); p->var1 = 1; p->var2 = 1; p->var3 = 1; } int var1; protected: int var2; private: int var3; };
Father.h頁面代碼以下:
#include "MyFriend.h" class Father{ public: Father(){ MyFriend *p = new MyFriend(); p->var1 = 1; p->var2 = 1; p->var3 = 1; }; int var1; protected: int var2; private: int var3; }
Son.h頁面代碼以下:
#include "MyFriend.h" class Son : Father{ Son(){ MyFriend *p = new MyFriend(); p->var1 = 1; p->var2 = 1; p->var3 = 1; }; }
感興致的讀者可以調試運轉一下本文實例,信任會有新的收成。