一:c++中struct和class的區別
c++需要相容c語言,所以c++中struct可以當成結構體去使用,另外c++中struct還可以用來定義類,和class是定義類是一樣的,區別是struct的成員預設訪問方式是public,class是struct的成員預設訪問方式是private。
二:類的例項化
用類型別建立物件的過程稱為類的例項化。
1.類只是乙個模型一樣的東西,限定了類有哪些成員,定義出乙個類並沒有分配實際的記憶體空間來儲存它。
2. 乙個類可以例項化出多個物件,例項化出的物件占用實際的物理空間,儲存類成員變數。
3. 做個比方:類例項化出物件就像現實中使用建築設計圖建造出房子,類就像是設計圖,只設計出需要什麼東西,但是並沒有實體的建築存在,同樣類也只是乙個設計,例項化出的物件才能實際儲存資料,占用物理空間。
三:結構體內存對齊規則
1 、第乙個成員在與結構體偏移量為0的位址處。
2、其他成員變數要對齊到某個數字(對齊數)的整數倍的位址處。
3、 結構體總大小為:最大對齊數(所有變數型別最大者與預設對齊引數取最小)的整數倍。
4、如果巢狀了結構體的情況,巢狀的結構體對齊到自己的最大對齊數的整數倍處,結構體的整體大小就是所有最大對齊數(含巢狀結構體的對齊數)的整數倍。
注意:對齊數 = 編譯器預設的乙個對齊數與該成員大小的較小值。vs中預設的對齊數為8
四:this指標
(1)特點
1、 this指標的型別:類型別* const。
2、只能在「成員函式」的內部使用。
3、this指標本質上其實是乙個成員函式的形參,是物件呼叫成員函式時,將物件位址作為實參傳遞給this形參。所以物件中不儲存this指標。
4、this指標是成員函式第乙個隱含的指標形參,一般情況由編譯器通過ecx暫存器自動傳遞,不需要使用者傳遞。
(2)編譯器處理成員函式隱含的this指標
void
fun(
)
void
fun(data *this)
C 重點語法概要
cpp重點語法概要 文 件 名 cpp 重點語法概要 檔案格式txt pdf 時 間 2010 09 26 21 18 作 者 geniusgogo xpxyr sina.com 語法基礎篇 1 引用 不能建立引用的引用 不能建立引用陣列和陣列引用 不能建立指向引用的指標 2 名字空間 space ...
C 類與物件
程式設計模型 所有計算機均由兩種元素組成 和資料.精確的說,有些程式是圍繞著 什麼正在發生 而編寫,有些則是圍繞 誰正在受影響 而編寫的.抽象封裝 封裝是一種把 和 所操作的資料 在一起,使這兩者不受外界干擾和誤用的機制.繼承 繼承是指乙個物件從另乙個物件中獲得屬性的過程.是物件導向程式設計的三大原...
C 類與物件
c 類與物件 區分物件導向與面向過程 物件導向是指一種程式設計范型,同時也是一種程式開發的方法。它將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。物件導向 利用物件間的訊息傳遞來驅動程式的執行。優點 真實表現客觀世界,物件間的關係清晰,物件間的訊息處理高效。面...