国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++友元(Friend)用法實例簡介

2020-01-26 15:22:55
字體:
供稿:網(wǎng)友

相對于Java而言,友元是C++中特有的一種元素,很多教材上對其介紹的相對較少,因此初學(xué)的時候往往不能很快掌握,本文總結(jié)了友元的用法和一些注意的地方,供大家參考借鑒。希望能對初學(xué)C++的朋友起到一點幫助作用。

操作步驟:

1)在MyFriend類中,將Father類定義成友元
2)寫一個Son類繼承自Father類
3)在Father類和Son類的構(gòu)造函數(shù)中分別創(chuàng)建MyFriend對象,并定義其內(nèi)部的三個變量
4)在MyFriend類的構(gòu)造函數(shù)中創(chuàng)建Father對象,并定義其內(nèi)部的三個變量

結(jié)果及注意事項:

1)Father類中創(chuàng)建的MyFriend對象允許直接訪問MyFriend類中所有變量
2)Son類中創(chuàng)建的MyFriend對象只允許直接訪問MyFriend類中Public變量
3)由第二點可知,友元關(guān)系無法繼承
4)MyFriend類中創(chuàng)建的Father對象只允許直接訪問Father類中的Public變量
5)由第四點可知,友元關(guān)系是單向的,即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;   }; }

感興趣的讀者可以調(diào)試運行一下本文實例,相信會有新的收獲。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉田县| 桑植县| 隆回县| 博客| 克拉玛依市| 吉安县| 江西省| 新疆| 蒙阴县| 客服| 扶余县| 镇江市| 安远县| 托里县| 兴和县| 财经| 淄博市| 轮台县| 丹棱县| 康平县| 曲水县| 汝州市| 盐亭县| 潞西市| 隆尧县| 泰和县| 镇平县| 云安县| 台东县| 闻喜县| 鲜城| 桑日县| 垦利县| 麦盖提县| 日土县| 鹤峰县| 阿鲁科尔沁旗| 英山县| 梧州市| 阿克陶县| 南汇区|