C++再考 第2部 動機
第4章に『クラス製作者のためのチェックリスト』として、クラス設計にあたって考慮すべきポイントがうまくまとめてあります。
- コンストラクタは不要ですか
- データメンバはプライベートですか
- 引数なしのコンストラクタはありますか
- 全てのコンストラクタが全てのデータメンバを初期化していますか
- デストラクは不要ですか
- 仮想デストラクタは不要ですか
- コピーコンストラクタは不要ですか
- 代入演算子は不要ですか
- 代入演算子は正しく自己代入を処理していますか
- 関係演算子は不要ですか
- 配列を delete するのに [] を忘れていませんか
- コピーコンストラクタや代入演算子の引数に const をつけましたか
- 参照がある場合、その参照は const にしなくてよいですか
- メンバ関数に正しく const 宣言をしましたか
第5章には『C++における基本設計ルールと呼びたくなるようなコメントとして
C++ ではしばしばそうであるように、(問題)解決へのキーは、その概念をクラスにしてみることです。
とあります。
以降は、代理クラス、ハンドルクラス、「文字」絵をつかった例題へと繋がります。この例題はAccelerated C++でも取り上げられているもの。