Virtual Public Inheritance

#include <iostream>
using namespace std;

class Device {
public:
    // your code here: implement void show() to print "Generic Device"
    void show(){
        printf("%s\n", "Generic Device"); 
    }
};

class Sensor : virtual public Device {
    // no extra code needed
};

class Actuator : virtual public Device {
    // no extra code needed
};

// your code here: define class SmartDevice inheriting publicly from Sensor and Actuator
class SmartDevice:public Sensor, Actuator {
    public:
    void identify(){
        cout << "Smart Device" << endl;
    }

};
// implement void identify() to print "Smart Device"

int main() {
    SmartDevice sd;
    sd.show();      // from Device
    sd.identify();  // from SmartDevice
    return 0;
}
Upvote
Downvote
Loading...

Input

Expected Output

Generic Device Smart Device