C 學習筆記(物件導向)

2021-08-17 04:09:14 字數 951 閱讀 4952

protected(受保護的):用protected宣告的成員稱為受保護的成員,它不能被類外訪問,但是可以被派生類的成員函式訪問

在類體中,既不寫關鍵字private,又不寫public,則預設為private

宣告類的方法是由宣告結構體型別的方法發展來的

在類體中直接定義函式時,不需要在函式名前邊加上類名,因為函式屬於哪一類不言而喻。但是在類外定義成員函式是,必須在函式名前邊加上類名,予以限定(qualifed),「::」是作用域限定符(field qualifier),或稱作用域運算子,用它宣告函式是屬於哪一類。如果在「::」前沒有類名,或者函式名前即無類名又無作用域運算子「::」,如   ::display(),或者display(),則表明display函式不屬於任何類,不是某個類的成員函式,而是全域性函式。

每個物件所占用的儲存空間只是該物件的資料部分所占用的儲存空間,而不包含函式**所佔的儲存空間,乙個物件所佔空間的大小只取決於該物件中資料成員所佔的空間,而與成員函式無關。

物件成員的引用:

三種訪問物件中成員的方法:通過物件名和成員運算子、通過指向物件的指標、通過物件的引用變數。

通過物件名和成員運算子:

物件名.成員名

不僅可以在類外引用物件的公用資料成員,還可以呼叫物件的公用成員函式,但同樣必須指出物件名

類外只能呼叫公用的成員函式。

通過指向物件的指標:

class time;

time t,*p;

p=&t;

couthour,(*p).hour,t.hour三者等價

通過物件的引用變數來訪問物件中的成員:

若為乙個物件定義了乙個引用變數,它們共占同一段儲存單元,實際上它們是同一物件,只是用不同的名字表示而已,

time t1;

time &t2=t1;

cout《由於t2與t1共占同一段儲存單元(即t2是t1的別名),因此t2.hour就是t1.hour

C 學習筆記 物件導向程式設計

1.什麼是類 物件和成員?類 乙個類包含很多的物件。比如人類就是乙個類,張 三 李四等是人類的物件,這些物件擁有人類共同的功能和資料,如身高 體重 年齡等,而具體化這些資料我們可看做是人類的成員變數。所以類是由若干個變數和相關函式組成,而物件則擁有這些變數和函式。2.如何宣告乙個類?類只有先宣告才能...

C 筆記 物件導向的學習

c 物件導向的封裝 繼承 多型 一.封裝 封裝 把客觀的事物封裝成類,使用和修改方便 封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義在於保護或者防止 資料 被我們無意中破壞。封裝既可以封裝成員變數,又可以封裝成員方法 封裝學習例子 每個物件都...

C 物件導向學習筆記(一)

這幾天,專案比較空一點,正在重點看一下c 基礎語法,感覺物件導向那一部分,有些地方還是滿疑惑的。參考了 c 高階程式設計 第四版 第3和4章 邊看邊總結了點筆記 c 中的繼承 第4章 繼承 1.繼承的型別 1 實現繼承 表示乙個型別派生於乙個基型別,擁有該基型別的所有成員欄位和函式 2 介面繼承 表...