オレオレ・コーディング規約 : virtual キーワード

コーディングスタイルを固定していく試み。

class Interface
{
  virtual void asdf() = 0; // pure virtual なので virtual必須
  virtual void bsdf() = 0;
};

class ImplBase : public Interface
{
  virtual void asdf(); // virtualキーワードはC++規約的には不必要だが、
                       // オレオレコーディング規約ではさらに継承クラスで
                       // 再実装の可能性がある場合つける。
  void bsdf(); // これ以上オーバーライドされないのでvirtualつけない。
};

class ImplAAA : public ImplBase
{
  void asdf(); // これ以上オーバーライドされないのでvirtualつけない。
};