物件的定義:類名 物件名;如stock joe;
物件使用成員函式:物件名.成員函式名;如joe.show();
呼叫成員函式時,成員函式使用的是呼叫它的物件的資料成員。
類所建立的每個物件都有自己的儲存空間,儲存其內部變數和類成員。但每乙個物件都共享類的同一組方法。
類的建構函式和析構函式
建構函式是為了在構造類的新物件時,對物件的資料成員進行初始化。
類的建構函式的名字與類名相同,並且定義時沒有返回型別。程式宣告類物件時,自動呼叫建構函式。
使用建構函式的方法:
stock food=stock("dff",2,32);
或stock food("dsc",43,6);
類的物件不能呼叫建構函式。
當使用stock food;這種方式定義類的物件時,將自動呼叫預設的建構函式來完成物件的初始化。
預設的建構函式為:stock::stock(){} (沒有引數或者所有引數都設為給定預設值)
預設的建構函式可以不寫,但是如果為類定義了別的建構函式之後,預設建構函式就必須寫出來。
析構函式
類的物件過期時,將自動呼叫析構函式,完成清理工作。如建構函式使用new來分配記憶體,則析構函式將使用delete來釋放記憶體。
析構函式沒有引數,沒有宣告型別,沒有返回值,定義為:~類名();
析構函式的呼叫由編譯器決定,一般不用在**中顯示的呼叫析構函式。
每個類都只能有乙個析構函式。
一般情況下,將類宣告部分放在.h檔案中,將類方法實現部分放在.cpp檔案中。
#include "··.h"意味著編譯器將在原始檔所在的目錄中搜尋.h檔案
預設情況下,將乙個物件賦給同類的另乙個物件時,源物件中的每個資料成員的內容被複製到目標物件中的相應資料成員中。
由於建立類的物件的區域性變數被存放在堆疊中,因此,在刪除物件時將先刪除最後建立的物件。
const成員函式
定義:返回型別 成員函式名()const
這種方式宣告、定義的函式成為const成員函式,表示該類成員函式不修改呼叫物件。
只要類方法不修改呼叫物件,就應當將它宣告為const。
通過函式過載,可以建立多個同名的建構函式,但是函式的引數列表必須不同。
c 學習筆記 類
c 學習筆記 類 refer c primer 在c 中,用類來定義自己的抽象資料結構。在乙個原始檔中,乙個類只能被定義一次 宣告可以多次 如果在多個檔案中定義乙個類,那麼每個檔案定義必須完全相同。可以宣告乙個類而不定義它。這個宣告被稱為向前宣告,是乙個不完全型別 已知其為乙個型別,但不知道包含哪些...
C 類 學習筆記
類的深入刨析 i 建構函式 析構函式 拷貝建構函式 何時呼叫建構函式和析構函式 預設的逐個成員賦值 類的深入刨析 ii 運算子過載字串和陣列物件 繼承多型性 成員訪問說明符public private和protected類的作用域和類成員的訪問 物件的名稱或者物件的引用要結合圓點成員選擇運算子 來訪...
c 學習筆記 類繼承
現在有乙個記錄身份id的類 ifndef head h define head h include include using namespace std class idcard endif 實現部分 include head.h idcard idcard const string n,cons...