#include <iostream> using namespace std; class Driver { public: virtual void start() { cout << "Generic driver started" << endl; } }; class SpiDriver : public Driver { public: void start() { cout << "SPI driver started" << endl; } }; class I2cDriver : public Driver { public: void start() { cout << "I2C driver started" << endl; } }; int main() { int mode; cin >> mode; SpiDriver spi; I2cDriver i2c; Driver* driver = nullptr; if (mode == 0) { driver = &spi; } else { driver = &i2c; } driver->start(); // correct behavior return 0; }
Test Cases
Test Results
Input
0
Expected Output
SPI driver started