如何摆脱这些警告
How to get rid of these warnings?
#include <iostream>
#include "Pizza.h"
int main() {
iFood* food;
food = new Pizza(14.0, 8);
for (int i = 0; i < 3; i++)
food->consume();
food->display();
std::cout << std::endl;
delete food;
food = new DeluxePizza(12.0, 6, "mushrooms, peppers");
for (int i = 0; i < 2; i++)
food->consume();
food->display();
std::cout << std::endl;
delete food;
}
这是我的主要.cpp当我运行此代码时,它会显示警告,即删除在 iFood 上调用,该警告是抽象的,但具有非虚拟析构函数。
您需要
在 iFood
中使析构函数virtual
。
请参阅为什么我们需要C++中的纯虚拟析构函数?来理解原因。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 函数何时会在c++中包含stack_Unwind_Resume调用
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 由于未签名,以模板方法的方式摆脱警告
- 如何摆脱 OSX10.10 SDK 中的 module.map 警告
- 如何摆脱这些警告
- 如何摆脱这些警告
- 检查布尔模板参数时摆脱"conditional expression is constant"警告的方法?
- 摆脱编译器警告"warning: result of call is not used"
- 如何摆脱C++生成器警告"virtual function hides..."
- 如何摆脱这个Eclipse警告
- 这个backward_warning. h#警告从何而来?
- 从c++调用Python,如何摆脱' - strict-prototypes '警告
- 如何摆脱这些c++警告
- 如何在Xcode 4中摆脱"In class initializer for static data member ... is a C++0x extension"警告