看完這篇文章,Class的相關知識你就都懂了。

2021-09-26 10:46:22 字數 1596 閱讀 1113

一. 類和物件

1. 通過分析「物件」的屬性和行為設計出乙個類(物件導向)

2. 類就是資料型別

簡單型別:只能表示乙個屬性(變數),c/c++內建資料型別。

陣列型別:可以表示多個屬性(變數),型別必須相同。

結構型別:可以表示多個屬性(變數),但缺少行為(函式)。

類型別:既能表示屬性,也能表示行為,一種復合的資料型別。

3. 物件就類這種資料型別建立出的例項,相當於結構變數

1. 類的一般形式

class 類名:繼承方式 父親

// 析構函式

~類名(void)

};每個類都有四大函式:建構函式,析構函式,拷貝建構函式,賦值建構函式(自己不定義,就會自帶預設的函式) 預設:預設的意思

2. 類的訪問控制限定符

public:公有成員,在任何位置都可以訪問

private:私有成員,只能類的成員函式中訪問

protected:受保護成員,只能在類和子類中訪問

類中的成員變數、成員函式預設是 private,結構中的成員變數、成員函式預設是public。

注意:c++中的類和結構的區別只有成員函式和成員變數的預設訪問許可權不同。

一、類的繼承

1、共性與個性

表達不同型別事物之間共有的屬性和行為

個性用於刻畫每種事物特有的屬性和行為

2、共性表示為父類(基類),個性表示為子類(派生類)。

子類繼承自父類

基類派生出子類

二、繼承的基本語法

1、繼承表

乙個子類可以同時繼承零到多個父,每個父類的繼承方式可以相同也可以不同。

class 子類:繼承方式1 父類1,繼承方式2 父類2,…

2、繼承方式

public 公有繼承:父類的特性可通過子類向外擴充套件。

private 私有繼承:父類的特性只能為子類所有。

protected 保護繼承:父類的特性只能在繼承鏈內擴充套件。三、繼承的基本特點

1、公共特點(所有繼承都有的特點)

子類物件可以當作父類物件使用,子類物件與父類沒有本質上的區別。

子類的邏輯空間小於父類,但它的物理空間要大於等於父類。

子類物件 is a 父類物件

2、向上和向下轉換(造型)

從子類到父類:子類的指標或引用可以隱式轉換成父類的指標或引用,這是一種縮小型別的轉換,對於編譯器來說是安全(父類指標指向子類物件,是安全)。

從父類到子類:父類的指標或引用不可以轉換成子類的指標或引用,這是一種擴大型別的轉換,在編譯器看來是危險的(子類的指標指向父類的物件,不安全)。

編譯器僅僅是檢查指標或引用的資料型別,而對實際引用的目標物件不關心(構成多型的基礎)。

型別一致:父類的指標或引用型別是否需要轉換成實際的指標或引用由程式設計師自己決定。

3、子類會繼承父類的所有成員(公開、私有、保護)

4、子類會隱藏父類的同名成員

1、可以通過域限定符 父類::隱藏成員 進行訪問父類中的隱藏成員。

2、可以使用指標的指標或引用來指標子類物件,然後訪問父類中的隱藏成員。

5、雖然子類繼承所有父類中的成員,但不能訪問父類中的私有成員。

這篇文章記錄C 中struct與class的區別

在stroustrup c 發明者 的原作中 他自己說的原句是 按照定義,乙個struct就是乙個類,而只是完全公開的類 所以 struct s 等價於class s public 也就是說,struct中也可以定義方法,運算子等等,跟類等同對待,唯一的區別就是struct中預設是public的,而...

什麼是雲計算,雲計算是啥,看完這篇文章你就知道了

首先,先給出雲計算的定義 即通過網路按需提供可動態伸縮的廉價計算服務。比方說以前一家公司要建資訊系統來支撐自身業務,要自己建機房 買伺服器 搭系統 開發出各類應用程式,設專人維護。這種傳統的資訊系統 其一,一次性投資成本很高 其二,公司業務擴大的時候,很難進行快速擴容 其三,對軟硬體資源的利用效率低...

看完這篇文章你就能完全明白web專案中的路徑問題了

今天做網上購物系統 web專案 中個人資訊模組的頭像上傳,一直出現路徑問題,仔細看一下,是自己完全沒有弄明白路徑。經過一番學習,也算是有所收穫,下面我們就來談一下絕對路徑和相對路徑的區別問題。我們都知道,在我們平時使用計算機時要找到需要的檔案就必須知道檔案的位置,而表示檔案的位置的方式就是路徑,例如...