面向对象的缺陷
与 C++ 面向对象的编程相关的缺陷,例如,类设计问题或继承层次结构中的问题
这些缺陷与 C++ 编程的面向对象的方面相关。这些缺陷会突出显示类设计问题或继承层次结构中的问题。这些缺陷包括:
构造函数中的数据成员未初始化或初始化不正确
错误地覆盖基类方法
数据封装损坏
Polyspace 结果
拷贝赋值运算符中未返回 *this | operator= method does not return a
pointer to the current object |
未调用基类赋值运算符 | Copy assignment operator does not call copy assignment operators of base subobjects |
基类析构函数不是虚函数 | Class cannot behave polymorphically for deletion of derived class objects |
对非平凡类对象执行字节运算 | Value representations may be improperly initialized or compared |
转换或删除不完整的类指针 | You delete or cast to a pointer to an incomplete class |
修改源操作数的拷贝构造函数或赋值运算符 | Copy operation modifies data member of source object |
初始化列表中未调用拷贝构造函数 | Copy constructor does not call copy constructors of some members or base classes |
类型不兼容导致无法覆盖 | Derived class method hides a virtual base
class method instead of overriding it |
Lambda 用作 typeid 操作数 | typeid 用于 lambda 表达式 |
构造函数中存在未初始化的成员 | Constructor does not initialize some members of a class |
缺失显式关键字 | Constructor or user-defined conversion operator missing the explicit
specifier |
缺失虚拟继承 | A base class is inherited virtually and nonvirtually in the same hierarchy |
对象切片 | Derived class object passed by value to function with base class parameter |
未对可能过度对齐的类重载运算符 new | Allocated storage might be smaller than object alignment requirement |
部分覆盖重载的虚函数 | Class overrides fraction of inherited virtual functions with a given name |
向封装数据成员返回非常量句柄 | Method returns pointer or reference to internal member of object |
未在运算符中测试自赋值 | Copy assignment operator does not test for self-assignment |
主题
- Bug Finder 缺陷组
Bug Finder 的缺陷检查项分为数据流、并发、数值等分组。