一、整體**
countedobject.h
#ifndef _counted_object_h_
#define _counted_object_h_
class countedobject
;#endif // _counted_object_h_
countedobject.cpp
#include "countedobject.h"
int countedobject::count_ = 0; // 靜態成員的定義性宣告
countedobject::countedobject()
countedobject::~countedobject()
int countedobject::getcount()
01.cpp
#include "countedobject.h"
#include using namespace std;
int main(void)
~test()
void testfun()
{cout<<"x="<
二、執行結果
0 1 2 1
4(int佔4個位元組)
三、解釋
1、靜態變數被所有物件共享,沒有物件時候就有靜態的變數和方法。所以靜態的函式不能呼叫非靜態的變數和方法。反之,可以。
2、先有靜態成員的引用性宣告,但不能賦值。然後在靜態成員的定義性宣告中賦值。
3、static const int可以只在引用性宣告中賦值。
4、類大小計算遵循前面學過的結構體對齊原則
類的大小與資料成員有關
與成員函式無關
類的大小與靜態資料成員無關
虛函式對類的大小的影響
虛繼承對類的大小的影響
空類長度為1
類的大小以及虛函式表
一 類的大小 乙個類中,如果什麼都沒有,那麼它所佔的位元組為1,如果在類中新增了乙個函式 非虛函式 那麼它的大小還是1,而如果是虛函式,建立物件時會多乙個虛函式表指標 vptr,那麼對於32位系統來說是4位元組,對於64位系統來說是8位元組。二 虛函式 類中函式前有virtual這類關鍵字,則此函式...
初始化CStatic字型顏色與大小
使用靜態文字框時,我們都希望能改變上面的背景色,字型大小等,使介面看上去更加美觀。以下使用最簡單的方法實現此功能。1 在對話方塊初始化函式oninitdialog 中新增要顯示的文字,setdlgitemtext idc set data,t 引數設定 idc set data為靜態文字框id 2 ...
C 空類以及沒有成員變數的類的大小
關於c 中空類的大小為1,我們大家都有所了解,但是除了空類之外的其他一些沒有成員變數的類的大小,還是有很多不明之處的。include usingnamespacestd classa classb classc publica classd publicb,publicc intmain 程式執行的...