假设给出以下代码。
class A
{
public:
virtual void someMethod()
{
std::cout << "class A" << std::endl;
}
};
class B : public A
{
public:
...
virtual void someMethod() = 0;
...
};
类用纯-virtual 方法B
覆盖虚拟方法。这样做的目的可能是扩展在我们的案例类中不允许修改的现有类,但仍然有一个抽象类,它必须是一些其他类的基类。someMethod
A
B
根据MISRA-C++ 规则 10-3-3:代码分析器发出警告:纯虚函数覆盖非纯虚函数。
但我找不到有关警告的详细信息。上述代码的副作用是什么?这里有什么不好的做法?
更新:标准是 MISRA-C++ (C++98)