| High Integrity CPP Rule 3.3.16 | Explicitly declare polymorphic member functions virtual in a derived class. |
| (QA C++ 2132) |
| Justification |
When examining the class definition of a derived class, documentation is needed to determine which members are virtual. Specifying 'virtual' explicitly helps to document the class.
class A
{
public:
virtual void f();
virtual void operator+( A const& );
virtual ~A();
};
class B1 : public A
{
public:
virtual void f(); // virtual: make explicit
virtual void operator+( A const& ); // virtual: make explicit
virtual ~B1(); // virtual: make explicit
};
|