Next: 3.4 Object Oriented Design  Up: 3.3 Inheritance  Previous: High Integrity CPP Rule 3.3.15  Contents

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
   };


HICPP VERSION 2.4  http://www.codingstandard.com   Copyright: © 2007 THE PROGRAMMING RESEARCH GROUP