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;
};
}
感興致的讀者可以調試運轉一下本文實例,信任會有新的收成。