#include <iostream> using namespace std; class Driver { public: virtual void process() { cout << "Generic driver processing" << endl; } }; // SPI: Silent override failure (signature mismatch, no override) class SpiDriver : public Driver { public: void process() override { // must match exactly cout << "SPI driver processing" << endl; } }; // I2C: Compile-time detected override mismatch class I2cDriver : public Driver { public: void process() override { // ERROR: signature mismatch cout << "I2C driver processing" << endl; } }; int main() { int mode; cin >> mode; SpiDriver spi; I2cDriver i2c; Driver* driver = nullptr; if (mode == 0) { driver = &spi; } else { driver = &i2c; } driver->process(); return 0; }
Test Cases
Test Results
Input
0
Expected Output
SPI driver processing