MISRA C++:2008 Rule 10-3-1
There shall be no more than one definition of each virtual function on each path through the inheritance hierarchy
Description
Rule Definition
There shall be no more than one definition of each virtual function on each path through the inheritance hierarchy.1
Rationale
The checker flags virtual member functions that have multiple definitions on the same path in an inheritance hierarchy. If a function is defined multiple times, it can be ambiguous which implementation is used in a given function call.
Polyspace Implementation
The checker also raises a violation if a base class member function is redefined in the
derived class without the virtual
keyword.
Troubleshooting
If you expect a rule violation but Polyspace® does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Derived Classes |
Category: Required |
Version History
Introduced in R2013b
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.