C 物件模型學習筆記一 類物件所占用的空間

2021-10-06 07:21:27 字數 757 閱讀 3001

測試驗證各種類物件所占用的空間。

結論:(1): 空類占用1個位元組記憶體空間。

(2): 成員函式不占用類物件的記憶體空間。

(3): 成員變數占用物件的記憶體空間。

總結:成員變數時包含在每個物件中的,是占用物件記憶體空間的,二成員函式,每個類只誕生乙個(跟著類走),是不占用物件記憶體空間的。

#include

using

namespace std;

//例項測試各種類物件所占用的空間

//--- 空類

//1、乙個空類sizeof(空類) = 1 而不是等於 0 : 因為生成的物件要有位址,所以最少儲存乙個位元組,所以sizeof(空類) = 1 。

classa;

//--- 只有三個成員函式、

//2、只擁有成員函式,沒有成員變數的類占用1個位元組, 因為類的成員函式不占用物件的記憶體空間。

classb;

void

func1()

;void

func2()

;};//--- 類只有乙個char型 成員變數

//3、只擁有乙個char型 成員變數的類占用1個位元組, 這1個位元組是char成員變數占用的,因為成員變數是包含在每個物件中的,占用物件的記憶體空間。

C 學習(一) 類與物件

大二時學校開過物件導向程式設計 c 語言 的課,使用的是清華大學出版社,李愛華 程磊主編的教材。近兩年在學習和專案中一直使用c,對於c 已經忘記得差不多了。如今大四畢業之際開始學習qt開發上位機,需要用到c 使用原教材再次學習一次。類與物件是c 中兩個基本的概念。可以理解類是資料型別,物件是類定義的...

IOS學習筆記 OC(一)類與物件

import int main int argc,const char argv return 0 1.oc相對於c 在c的基礎上新增了一小部分物件導向的語法 將c的複雜語法封裝的更為簡單 oc完全相容c語言 在c語言的基礎上新增了一小部分物件導向的語法 2.oc程式的原始檔的字尾名是.m m代表m...

物件導向(一) 類

class class nameobject name 乙個或者幾個物件的標識 class crectanglerect 是crectangle型別的物件的名稱 crectangle 和 rect的關係就像 int 和變數a的物件一樣 int 型別名 a 物件名,變數 如果物件需要呼叫類裡面的函式,...