1、類的定義:c++中使用者自定義的一種資料型別,與c語言中的結構體相比,類能夠更好的反應被描述的型別,勒種既可以包含成員變數,也可以包含成員函式。
2、類的宣告形式:
class class_name ;
3、類宣告的內容:
(1)成員變數的宣告
變數型別 變數名;
(2)成員函式的宣告
成員函式型別 函式名(形參表);
(3)成員函式的實現
// 類內的實現
函式型別 函式名(形參表)
void add(int a, int b)
// 類外的實現
// :: 作用域運算子
函式型別 類名::函式名(形參表)
void data::add(int a, int b)
4、物件的定義和引用:
// 物件的定義
// 類名 物件名;
list l;
// 類名 物件名(參數列);
data d1(2019,5,16);
// 物件引用
// 物件名.資料成員
d1._year;
*this->_year;
5、類物件大小的計算:乙個類的大小,實際就是該類中」成員變數」之和,當然也要進行記憶體對齊,注意空類的大小,空模擬 較特殊,編譯器給了空類乙個位元組來唯一標識這個類。(成員函式不計入大小、空類預設大小主流作業系統為乙個位元組)
6、this指標:c++編譯器給每個「成員函式「增加了乙個隱藏的指標引數,讓該指 針指向當前物件(函式執行時呼叫該函式的物件),在函式體中所有成員變數的操作,都是通過該指標去訪 問。只不過所有的操作對使用者是透明的,即使用者不需要來傳遞,編譯器自動完成。
this指標的特性:
1. this指標的型別:類型別* const
2. 只能在「成員函式」的內部使用
3. this指標本質上其實是乙個成員函式的形參,是物件呼叫成員函式時,將物件位址作為實參傳遞給this 形參。所以物件中不儲存this指標。
4. this指標是成員函式第乙個隱含的指標形參,一般情況由編譯器通過ecx暫存器自動傳遞,不需要使用者 傳遞
C 基礎知識(類和物件)
現實世界中,將事物的屬性和行為表示出來,就可以抽象出這個事物。定義乙個結構體用來表示乙個物件所包含的屬性,函式用來表示乙個物件所具有的行為,這樣就可以表示乙個事物。在c中,行為和屬性是分開的。屬性和行為應該放在一起,一起表示乙個具有屬性和行為的物件。封裝提供一種機制能夠給屬性和行為的訪問控制權。所以...
類和物件基礎知識
1.類和物件的基礎知識 定義 類就可以看做是對相似事物的抽象 訪問限定符 public,private,protect 封裝性 1 良好的封裝能夠減少耦合。2 類內部的結構可以自由修改。3 可以對成員進行更精確的控制。4 隱藏實現細節 物件大小計算 只計算非靜態成員變數 公有私有都算 不算函式,和s...
C 複習 類和物件的基礎知識
類構成了實現c 物件導向程式設計的基礎。類是c 封裝的基本單元,它把資料和函式封裝在一起。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式 隱含的this指標 類的訪問限定符 private 私有 protected 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...