目次
逆引き
メンバ関数の中身が決まらない
その関数を純粋仮想関数にする。その関数を含むクラスは抽象クラスとなる。
派生クラス側のメンバ関数を使うようにしたい
基本クラス側のメンバ関数を仮想関数にする。
通常、クラスを作成する際に、将来に渡って派生されるかどうかなどはわからないので、全て仮想関数にすることをデフォルトにしても良い。ただし、処理速度は遅くなる。
デストラクタの呼び出し順は?
派生クラスから。仮想指定を無視してそのクラスの関数が呼び出される。
抽象クラスを作る際、たまたま全てのメンバ関数に必要な処理があり、純粋仮想関数にできない
純粋仮想デストラクタを使う。デストラクタを純粋仮想関数にする。
ソースコードチェック
一般
定数定義
#defineではなくconstを使う
戻り値
戻り値が必ず処理されていること
クラス
初期化
全メンバ変数をコンストラクタで初期化しているか?特に、初期化不要な場合はコメントに明記する。
破棄
コンストラクタでnewしたものをデストラクタでdeleteしているか?特に、デストラクタ以外で破棄するものはコメントに明記する。
制約の明示
インスタンスは1つ
Singletonにする
コピー禁止
代入演算子をprivateにする
リンク
最終更新:2010年06月11日 00:30