設計一個高效率的類型(class 型別),必須先回答下列問題
1、對象如何產生和銷燬?
確定構造函數和析構函數的設計。
2、對象的初始化和賦值有什麼不同?
決定構造函數和賦值函數的設計。
3、對象如何傳值
決定拷貝構造函數的設計
4、確定合法的範圍 成員數據的定義域
確定做什麼檢查,何時拋出異常
5、判斷是否能從已有的類繼承
如果能繼承,注意受基類哪些約束,哪些要用虛函數。
6、允許那種類型轉換
構造函數可以用作隱式類型轉換,顯式類型轉換要自定義。
7、新類型需要哪些運算和函數
確定class的接口。
8、哪些運算和函數必須禁用
放到private成員中。
9、新類型的對象可調用哪些函數
確定公有成員函數,保護成員函數,私有成員函數。
10、是否通用類型
確定是否要用類模板