1.是否需要一個構(gòu)造函數(shù)?
一般都是要的。除非類比較簡單。
2.數(shù)據(jù)成員是否是私有的?
如果是私有的,那么是否需要通過函數(shù)進行設(shè)置?選取一種合適的讀寫函數(shù)的風(fēng)格。
3.類是否需要無參構(gòu)造函數(shù)?
如果沒有無參構(gòu)造函數(shù),如下的寫法就會報錯:
1
//類定義
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òu)造函數(shù)是否都能初始化所有數(shù)據(jù)成員?
確保對象被構(gòu)造出來后擁有一個正確的狀態(tài)。
5.類需要析構(gòu)函數(shù)嗎?
6.類需要虛析構(gòu)函數(shù)嗎?
如果需要對指向子類對象的父類指針調(diào)用delete,就需要有虛析構(gòu)函數(shù)。
7.類是否需要復(fù)制構(gòu)造函數(shù)和賦值操作符?
8.賦值操作符能否正確的把對象賦值給對象本身?
9.類是否需要定義關(guān)系操作符?
10.刪除數(shù)組時是否用了delete[]?
11.復(fù)制構(gòu)造函數(shù)和賦值操作符是否在參數(shù)中加入了const?
12.如果函數(shù)有引用參數(shù),是否應(yīng)該是const引用?
posted on 2008-06-17 10:38
小石頭 閱讀(301)
評論(0) 編輯 收藏 引用