← Back to Question List
C++ Quiz #37
Non-Virtual Destructor Leak
This code has a subtle bug when delete base runs. What is the issue?
📄 Code
1#include <iostream>2using namespace std;34class Base {5public:6 ~Base() {7 cout << "Base destroyed" << endl;8 }9};1011class Derived : public Base {12 int* data;13public:14 Derived() { data = new int[100]; }15 ~Derived() {16 delete[] data;17 cout << "Derived destroyed" << endl;18 }19};2021int main() {22 Base* base = new Derived();23 delete base;24 return 0;25}