#include <iostream> using namespace std; // TODO 1: Create CoreDriver class // - Constructor prints "Core driver initialized" class CoreDriver { public: CoreDriver(){cout<<"Core driver initialized"<<endl;} }; // TODO 2: Create CommDriver class // - Publicly inherits from CoreDriver // - Constructor prints "Comm driver initialized" class CommDriver: public CoreDriver { public: CommDriver(){cout<<"Comm driver initialized"<<endl;} }; // TODO 3: Create SpiDriver class // - Publicly inherits from CommDriver // - Constructor takes int speed // - Prints "SPI driver initialized" // - Stores speed // - Function prints "SPI speed <speed>" class SpiDriver:public CommDriver{ private: int speed; public: SpiDriver(int s):speed(s){ cout << "SPI driver initialized" << endl; } void print() const { cout<<"SPI speed "<<speed<<endl; } }; int main() { int speed; cin >> speed; // TODO 4: Create SpiDriver object SpiDriver spid(speed); // TODO 5: Call function to print SPI speed spid.print(); return 0; }
Test Cases
Test Results
Input
8
Expected Output
Core driver initialized Comm driver initialized SPI driver initialized SPI speed 8