RINF -- 継承した非仮想関数の再定義(Redefining an Inherited Nonvirtual Function)
C++ 検査 への移動
説明
このルールは、継承した非仮想関数の再定義を避けるためのものです。 ほとんどの場合、非仮想関数をオーバーライドすることは重大な間違いであり、深刻な結果をもたらしかねません。 この検査ではそのような危険なコードを探し、警告を出力します。
誤った例
class Car {
public:
void fooBar();
};
class Truck : public Car {
public:
void fooBar();
};
正しい例
class Car {
public:
virtual void fooBar();
};
class Truck : public Car {
public:
void fooBar();
};