Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- // ---------------------------------------
- class Device {
- protected:
- bool mPoweredON;
- string mDeviceID;
- string mManufacturer;
- public:
- Device();
- Device(bool, string, string);
- virtual void TurnON_OFF();
- };
- // ---------------------------------------
- Device::Device() : mPoweredON(false), mDeviceID(""), mManufacturer("") {}
- Device::Device(bool PoweredON, string DeviceID, string Manufacturer) : mPoweredON(PoweredON), mDeviceID(DeviceID), mManufacturer(Manufacturer) {}
- void Device::TurnON_OFF() { mPoweredON = !mPoweredON; }
- // ---------------------------------------
- class USBDevice : public virtual Device {
- protected:
- bool mConnected;
- float mUSBStandard;
- public:
- USBDevice();
- USBDevice(bool, float, bool, string, string);
- virtual void Connect();
- };
- // ---------------------------------------
- USBDevice::USBDevice() : mConnected(false), mUSBStandard(2.0), Device(false, "", "") {}
- USBDevice::USBDevice(bool Connected, float USBStandard, bool PoweredON, string DeviceID, string Manufacturer) : mConnected(Connected), mUSBStandard(USBStandard), Device(PoweredON, DeviceID, Manufacturer) {}
- void USBDevice::Connect() { mConnected = !mConnected; }
- // ---------------------------------------
- class NetworkDevice : public virtual Device {
- protected:
- bool mConnected;
- string mNetworkStandard;
- public:
- NetworkDevice();
- NetworkDevice(bool, string, bool, string, string);
- virtual void Connect();
- };
- // ---------------------------------------
- NetworkDevice::NetworkDevice() : mConnected(false), mNetworkStandard(""), Device(false, "", "") {}
- NetworkDevice::NetworkDevice(bool Connected, string NetworkStandard, bool PoweredON, string DeviceID, string Manufacturer) : mConnected(Connected), mNetworkStandard(NetworkStandard), Device(PoweredON, DeviceID, Manufacturer) {}
- void NetworkDevice::Connect() { mConnected = !mConnected; }
- // ---------------------------------------
- class WirelessAdapter : public USBDevice, public NetworkDevice {
- private:
- int mAntennas;
- int mGain;
- public:
- WirelessAdapter();
- WirelessAdapter(int, int, bool, float, string, bool, string, string);
- virtual void Connect();
- void Status();
- };
- // ---------------------------------------
- WirelessAdapter::WirelessAdapter() : mAntennas(0), mGain(0), USBDevice(false, 2.0, false, "", ""), NetworkDevice(false, "", false, "", "") {}
- WirelessAdapter::WirelessAdapter(int Antennas, int Gain, bool Connected, float USBStandard, string NetworkStandard, bool PoweredON, string DeviceID, string Manufacturer) : mAntennas(Antennas), mGain(Gain), USBDevice(Connected, USBStandard, PoweredON, DeviceID, Manufacturer), NetworkDevice(Connected, NetworkStandard, PoweredON, DeviceID, Manufacturer) {}
- void WirelessAdapter::Connect() {
- USBDevice::Connect();
- NetworkDevice::Connect();
- }
- void WirelessAdapter::Status() {
- if (USBDevice::mPoweredON) {
- if (USBDevice::mConnected) {
- cout << "USB Device is connected!" << endl;
- }
- else {
- cout << "USB Device is disconnected!" << endl;
- }
- }
- else {
- cout << "USB Device is not powered on!" << endl;
- }
- if (NetworkDevice::mPoweredON) {
- if (NetworkDevice::mConnected) {
- cout << "Network Device is connected!" << endl;
- }
- else {
- cout << "Network Device is disconnected!" << endl;
- }
- }
- else {
- cout << "Network Device is not powered on!" << endl;
- }
- }
- // ---------------------------------------
- int main() {
- WirelessAdapter Samsung;
- Samsung.TurnON_OFF();
- Samsung.Connect();
- Samsung.Status();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement