C 自學筆記

2021-10-24 02:03:41 字數 1513 閱讀 2742

本次記錄友元,還請各位大佬批評指正!

家裡有客廳(public),有臥室(private)。客廳可以讓所有來的客人進去,但是臥室是私有的,只有自己能進去。但是也可以讓好閨蜜、好**進去。

在程式裡,有些私有屬性 也想讓類外特殊的一些函式或者類進行訪問,就需要用到友元的技術。

友元的目的:讓乙個函式或者類 訪問另乙個類中私有成員。

友元的關鍵字:friend

友元的三種實現:

1、全域性函式做友元

2、類做友元

3、成員函式做友元

#include

#include

#include

using

namespace std;

//全域性函式做友元

//建築物類

class

building

public

: string m_sittingroom;

//客廳

private

: string m_bedroom;

//臥室};

//全域性函式

void

goodgay

(building* building)

void

test01()

intmain()

#include

#include

#include

using

namespace std;

//類做友元

class

building

;class

goodgay

;class

building

;//類外寫成員函式

building::

building()

goodgay::

goodgay()

void goodgay::

visit()

void

test01()

intmain()

#include

#include

#include

using

namespace std;

//成員函式做友元

class

building

;class

goodgay

;class

building

;building::

building()

goodgay::

goodgay()

void goodgay::

visit()

void goodgay::

visit2()

void

test01()

intmain()

C 自學筆記

本次記錄結構體,還請各位大佬批評指正!結構體屬於使用者自定義的資料型別,允許使用者儲存不同的資料型別 整型 浮點型 字元型 布林型 即不同資料型別的集合所組成的乙個型別。建立學生資料型別,然後通過學生資料型別建立具體的學生。通過結構體建立變數的方式有三種 1 struct 結構體名 變數名 2 st...

C 自學筆記

本次記錄程式的記憶體分割槽模型,還請各位大佬批評指正!c 程式在執行時,將記憶體大方向劃分為4個區域 1 區 存放函式體的二進位制 有作業系統進行管理 寫的所有 放在該區域 2 全域性區 存放全域性變數和靜態變數以及常量 3 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數 4 堆區 由程式...

C 自學筆記

本次記錄函式提高,還請各位大佬批評指正!在c 中,函式的形參列表中的形參是可以有預設值的。語法 返回值型別 函式名 引數 預設值 注意事項 1 如果某個位置有預設引數,那麼從這個位置之後,從左往右都必須有預設值。2 如果函式的宣告有預設引數,那麼函式的實現就不能有預設引數。宣告和實現只能有乙個有預設...