#include <iostream> using namespace std; class Driver { public: virtual ~Driver() { cout << "Base driver shutdown" << endl; } }; class SpiDriver : public Driver { public: ~SpiDriver() { cout << "SPI driver shutdown" << endl; } }; class I2cDriver : public Driver { public: ~I2cDriver() { cout << "I2C driver shutdown" << endl; } }; int main() { int value; cin >> value; Driver* driver = nullptr; if (value == 0) { driver = new SpiDriver(); } else { driver = new I2cDriver(); } delete driver; return 0; }
Test Cases
Test Results
Input
0
Expected Output
SPI driver shutdown Base driver shutdown