對乙個類求sizeof

2021-07-24 18:59:42 字數 714 閱讀 8064

#include using namespace std;

class base

; int main()

; int main()

; int main()

private:

int a; //佔4位元組

char *p; //4位元組指標

};

class derive:public base

;

~derive(){};

private:

static int st; //非例項獨佔

int d; //佔4位元組

char *p; //4位元組指標

};

int main()

{

cout<20

base類裡的int  a;char *p;佔8個位元組。而虛析構函式virtual ~base();的指標佔4子位元組。其他成員函式不歸入sizeof統計。

derive類首先要具有base類的部分,也就是佔12位元組。int  d;char *p;佔8位元組

static int st;不歸入sizeof統計,所以一共是20位元組。

求乙個類的sizeof應考慮的問題

昨天面試,面試官讓我說一說求乙個類的sizeof應該考慮的問題,心想,太好了,之前sizeof可是做了不少功夫,就說了 類的非靜態 非全域性成員 如果有 虛函式就要加上乙個 指向虛表的指標 4位元組大小,然後說,大概是這樣。面試官就問,虛函式的實現機制是?大 概講了一下虛表之類的東東 然後他問,那如...

求乙個類的sizeof應考慮的問題

昨天面試,面試官 讓我說一說求乙個類的sizeof應該考慮的問題,心想,太好了,之前sizeof可是做了不少功夫,就說了類的非靜 態 非全域性成員,如果有虛函式就要加上乙個指向虛表的指標,4位元組大小,然後說,大概是這樣。面試官就問,虛函 數的實現機制 是?大概講了一下虛表之類的東東,然後他問,那如...

sizeof求類大小

1 空類的大小及多重繼承的空類 class a class a2 class b public a class c public virtual b class d public a,public a2 空類所佔空間為1,單一繼承的空類空間也為1,多重繼承的空類空間也為1,虛繼承涉及到虛表 虛指標 ...