欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++友元(Friend)用法實(shí)例簡(jiǎn)介

 更新時(shí)間:2014年08月20日 14:45:20   投稿:shichen2014  
這篇文章主要介紹了C++友元(Friend)用法,對(duì)于C++的學(xué)習(xí)來(lái)說(shuō)有很好的參考價(jià)值,需要的朋友可以參考下

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

操作步驟:

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

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

1)Father類中創(chuàng)建的MyFriend對(duì)象允許直接訪問(wèn)MyFriend類中所有變量
2)Son類中創(chuàng)建的MyFriend對(duì)象只允許直接訪問(wèn)MyFriend類中Public變量
3)由第二點(diǎn)可知,友元關(guān)系無(wú)法繼承
4)MyFriend類中創(chuàng)建的Father對(duì)象只允許直接訪問(wèn)Father類中的Public變量
5)由第四點(diǎn)可知,友元關(guān)系是單向的,即A為B友元,B并不是A的友元,需要另外單獨(dú)定義

MyFriend.h頁(yè)面代碼如下:

#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頁(yè)面代碼如下:

#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頁(yè)面代碼如下:

#include "MyFriend.h" 
 
class Son : Father{ 
  Son(){ 
    MyFriend *p = new MyFriend(); 
    p->var1 = 1; 
    p->var2 = 1; 
    p->var3 = 1; 
  }; 
}

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

相關(guān)文章

  • C語(yǔ)言 操作符#與##使用方法詳解

    C語(yǔ)言 操作符#與##使用方法詳解

    在類函數(shù)宏中(帶參數(shù)的宏),#號(hào)作為一個(gè)預(yù)處理運(yùn)算符,可以把記號(hào)轉(zhuǎn)換成字符串。##相當(dāng)于連接符,它會(huì)將兩邊的內(nèi)容連接起來(lái),形成新的標(biāo)識(shí)符,下面請(qǐng)看詳細(xì)的教程
    2022-04-04
  • C語(yǔ)言中宏定義使用的小細(xì)節(jié)

    C語(yǔ)言中宏定義使用的小細(xì)節(jié)

    本篇文章是對(duì)C語(yǔ)言中宏定義使用的小細(xì)節(jié)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語(yǔ)言實(shí)現(xiàn)24點(diǎn)問(wèn)題詳解

    C語(yǔ)言實(shí)現(xiàn)24點(diǎn)問(wèn)題詳解

    24點(diǎn)問(wèn)題就是在屏幕上輸入1?10范圍內(nèi)的4個(gè)整數(shù)(可以有重復(fù)),對(duì)它們進(jìn)行加、減、乘、除四則運(yùn)算后(可以任意的加括號(hào)限定計(jì)算的優(yōu)先級(jí)),尋找計(jì)算結(jié)果等于24的表達(dá)式。本文將通過(guò)C語(yǔ)言實(shí)現(xiàn)24點(diǎn)問(wèn)題的求解,需要的可以參考一下
    2021-12-12
  • 算法學(xué)習(xí)入門之使用C語(yǔ)言實(shí)現(xiàn)各大基本的排序算法

    算法學(xué)習(xí)入門之使用C語(yǔ)言實(shí)現(xiàn)各大基本的排序算法

    這篇文章主要介紹了使用C語(yǔ)言實(shí)現(xiàn)各大基本的排序算法的方法,同時(shí)也對(duì)算法的選擇問(wèn)題上給出了一些建議,的朋友可以參考下
    2015-12-12
  • 詳解Dev C++使用教程(使用Dev C++編寫C語(yǔ)言程序)

    詳解Dev C++使用教程(使用Dev C++編寫C語(yǔ)言程序)

    這篇文章主要介紹了詳解Dev C++使用教程(使用Dev C++編寫C語(yǔ)言程序),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • VS Code 中搭建 Qt 開發(fā)環(huán)境方案分享

    VS Code 中搭建 Qt 開發(fā)環(huán)境方案分享

    這篇文章主要介紹了VS Code 中搭建 Qt 開發(fā)環(huán)境方案分享的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Linux下C語(yǔ)言的幾道經(jīng)典面試題小結(jié)(分享)

    Linux下C語(yǔ)言的幾道經(jīng)典面試題小結(jié)(分享)

    下面小編就為大家?guī)?lái)一篇Linux下C語(yǔ)言的幾道經(jīng)典面試題小結(jié)(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • C++char類型和輸入輸出優(yōu)化

    C++char類型和輸入輸出優(yōu)化

    這篇文章主要介紹了C++char類型和輸入輸出優(yōu)化,char的全稱是character,也就是字符的意思。顧名思義,char類型是專門為了存儲(chǔ)字符而設(shè)計(jì)的。下面我們一起來(lái)看看文章的具體內(nèi)容吧
    2021-11-11
  • Qt QMessageBox類使用教程

    Qt QMessageBox類使用教程

    QMessageBox類提供一個(gè)模態(tài)對(duì)話框,用于通知用戶或詢問(wèn)用戶一個(gè)問(wèn)題并接收答案。這篇文章主要介紹了QMessageBox的一些常用用法,需要的小伙伴快來(lái)學(xué)習(xí)一下
    2021-12-12
  • 深入探討:linux中遍歷文件夾下的所有文件

    深入探討:linux中遍歷文件夾下的所有文件

    本篇文章是對(duì)linux中遍歷文件夾下的所有文件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論