什麼是物件導向?
物件導向程式設計(oop):物件指的是類的例項,將物件作為程式的基本單元,將程式和資料封裝在其中,以提高軟體的重用性,靈活性和擴充套件性。
c++不是純物件導向語言,而是基於物件導向的語言。
物件導向的三大特性:
封裝,繼承,多型
類的大小?
類的大小取決於類中所有成員變數的大小之和,也遵循記憶體對其原則。
為什麼要記憶體對齊?
.效能原因
記憶體對齊的計算?
1.第乙個成員在與結構體變數偏移量為0的位址處。
2.其他成員變數要對齊到某個數字(對齊數)的整數倍的位址處。
對齊數=編譯器預設的乙個對齊數與該成員大小的較小值。
vs中預設的值為8
gcc中的預設值為4
3.結構體總大小為最大對齊數(每個成員變數除了第乙個成員都有乙個對齊數)的整數倍。
4.如果巢狀了結構體的情況,巢狀的結構體對齊到自己的最大對齊數的整數倍處,結構體的整體大小就是所有最大對齊數(含嵌
套結構體的對齊數)的整數倍。
空類的計算 ?
空型別的例項中不包含任何資訊,本來就sizeof應該是0,但是當我們宣告該型別的例項的時候,它必須在記憶體中占有一定的空
間,否則無法使用這些例項,至於占用多少記憶體,由編譯器決定,vs中每個空型別的例項占用1位元組的空間。
如果在空中新增乙個建構函式和析構函式,類的大小?
也不會因為這兩個函式而在例項內新增任何額外的資訊。
C 類和物件 類和物件
c 中物件的型別稱為類,類代表了某一批物件的共性和特徵,類是物件的抽象,而物件是類的具體例項,類是抽象的,不占用記憶體,而物件是具體的,占用 儲存空間,這點很重要,讀者需要牢記。類是使用者自己指定的型別,如果程式中要用到類型別,必須自己根據需要進行宣告,或者使用別人已設計好的類,c 標準本身並不提供...
C 物件和類
1,特殊的類 字串string include include using namespace std int main 類似於標準庫函式,我們不需要記住每種 類 的全部操作,只需要在使用過程中記住一些常用的操作就可以了。如果有需要的話,可以求助於相關書籍或網路 2,當我們對string進行種種操作...
C (類和物件)
類成員函式 類的成員函式指標那些把定義和原型寫在類定義內部的函式,就想類定義中的其他變數一樣。類訪問修飾符 類成員可以定義為public,private或protected。預設情況下是定義為private。建構函式 類的建構函式是一種特殊的函式,在建立乙個新物件是呼叫。析構函式 類的析構函式也是一...