類 C 的靈魂(二)

2021-08-16 03:46:36 字數 676 閱讀 1344

二、成員函式

在(一)中的例子,成員函式的定義是在類的定義體內完成的,稱為內類定義成員函式。實際上成員函式也可以在內外定義,只需要在類內進行成員函式宣告,說明函式的參數列和返回值型別,然後在類定義體外給出成員函式的具體實現即可,這種稱為類外定義成員函式。類外定義成員函式一般形式如下:

返回值型別 類名::成員函式名(參數列)

...//函式體

eg.

class student		//宣告類的型別

;void student::display()//成員函式的定義(具體實現)。其中::是作用域運算子

student stud1, stud2;//定義兩個類物件(建立物件stud1,stud2)

成員函式在類外定義時,必需在函式名前面加上類名,並使用作用域運算子「::」來限定該函式屬於哪個類。

需要注意的是,在定義類的物件時,系統會為每乙個物件分配儲存空間。如果乙個類包含了資料和函式,那麼需要為這10個物件的資料和函式**分配儲存單元。

每個物件所占用的儲存空間只是該物件的資料部分所占用的儲存空間,而不包括成員函式**所占用的儲存空間。即只是用一段儲存空間來存放這個共用的函式**。在呼叫各個物件的函式時,再去轉向呼叫這個共用的函式**。

乙個物件所佔的儲存空間大小只取決於該類物件中資料成員所占用的空間,而與成員函式無關。成員函式**儲存在物件空間之外。

類 C 的靈魂(一)

類是c 語言十分重要的概念,是實現物件導向程式設計的基礎。c 對c語言的改進,最重要的就是增加了 類 因此c 起初也被稱為 帶類的c 類是所有物件導向語言的共同特徵,乙個有一定規模的c 程式都是由許多類構成的,因此類是c 的靈魂。一 類的定義 在c 中一般以如下形式定義 class 類名 類是一種抽...

程式的靈魂 演算法(二)

資料結構 演算法 程式 演算法的特性 有窮性 包含有限的操作步驟 確定性 演算法中的每乙個步驟都應當是確定的 有零個或多個輸入 輸入是指在執行演算法時需要從外界取得必要的資訊 有乙個或多個輸出 演算法的目的是為了求解,解 就是輸出 有效性 演算法中的每乙個步驟都應當能有效地執行,並得到確定的結果。良...

程式的靈魂 演算法(二)

4 快速排序演算法 1 演算法描述 從待排序序列中任意挑選乙個元素,作為基準 將所有小於基準的元素放在基準之前,大於基準的元素放在基準之後,等於基準的元素放在基準之前或之後,這個過程稱為分組 以遞迴的方式,分別對基準之前和基準之後的分組繼續進行分組,知道每個分組內的元素個數不多於 1 個為止 2 演...