1.是否需要一個(gè)構(gòu)造函數(shù)?
一般都是要的。除非類(lèi)比較簡(jiǎn)單。
2.數(shù)據(jù)成員是否是私有的?
如果是私有的,那么是否需要通過(guò)函數(shù)進(jìn)行設(shè)置?選取一種合適的讀寫(xiě)函數(shù)的風(fēng)格。
3.類(lèi)是否需要無(wú)參構(gòu)造函數(shù)?
如果沒(méi)有無(wú)參構(gòu)造函數(shù),如下的寫(xiě)法就會(huì)報(bào)錯(cuò):
1
//類(lèi)定義
2
Class Point
{
3
public:
4
Point(int a, int b):x(a), y(b)
{}
5
//
.
6
private:
7
int x,y
8
};
9
10
//調(diào)用代碼
11
Point p; //Error!
12
13
Point pa[5]; //Error!
14
4.每個(gè)構(gòu)造函數(shù)是否都能初始化所有數(shù)據(jù)成員?
確保對(duì)象被構(gòu)造出來(lái)后擁有一個(gè)正確的狀態(tài)。
5.類(lèi)需要析構(gòu)函數(shù)嗎?
6.類(lèi)需要虛析構(gòu)函數(shù)嗎?
如果需要對(duì)指向子類(lèi)對(duì)象的父類(lèi)指針調(diào)用delete,就需要有虛析構(gòu)函數(shù)。
7.類(lèi)是否需要復(fù)制構(gòu)造函數(shù)和賦值操作符?
8.賦值操作符能否正確的把對(duì)象賦值給對(duì)象本身?
9.類(lèi)是否需要定義關(guān)系操作符?
10.刪除數(shù)組時(shí)是否用了delete[]?
11.復(fù)制構(gòu)造函數(shù)和賦值操作符是否在參數(shù)中加入了const?
12.如果函數(shù)有引用參數(shù),是否應(yīng)該是const引用?
posted on 2008-06-17 10:38
小石頭 閱讀(302)
評(píng)論(0) 編輯 收藏 引用