C 類和物件

2021-08-21 03:30:24 字數 734 閱讀 2988

什麼是物件導向?

物件導向程式設計(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。建構函式 類的建構函式是一種特殊的函式,在建立乙個新物件是呼叫。析構函式 類的析構函式也是一...