如何摆脱这些警告

How to get rid of these warnings?

本文关键字:警告 何摆脱      更新时间:2023-10-16
#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++中的纯虚拟析构函数?来理解原因。