Advertisement
amarek

OOP LV3 - Zadatak2

Nov 11th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. // ---------------------------------------
  7.  
  8. class Device {
  9. protected:
  10.     bool mPoweredON;
  11.     string mDeviceID;
  12.     string mManufacturer;
  13. public:
  14.     Device();
  15.     Device(bool, string, string);
  16.     virtual void TurnON_OFF();
  17. };
  18.  
  19. // ---------------------------------------
  20.  
  21. Device::Device() : mPoweredON(false), mDeviceID(""), mManufacturer("") {}
  22.  
  23. Device::Device(bool PoweredON, string DeviceID, string Manufacturer) : mPoweredON(PoweredON), mDeviceID(DeviceID), mManufacturer(Manufacturer) {}
  24.  
  25. void Device::TurnON_OFF() { mPoweredON = !mPoweredON; }
  26.  
  27. // ---------------------------------------
  28.  
  29. class USBDevice : public virtual Device {
  30. protected:
  31.     bool mConnected;
  32.     float mUSBStandard;
  33. public:
  34.     USBDevice();
  35.     USBDevice(bool, float, bool, string, string);
  36.     virtual void Connect();
  37. };
  38.  
  39. // ---------------------------------------
  40.  
  41. USBDevice::USBDevice() : mConnected(false), mUSBStandard(2.0), Device(false, "", "") {}
  42.  
  43. USBDevice::USBDevice(bool Connected, float USBStandard, bool PoweredON, string DeviceID, string Manufacturer) : mConnected(Connected), mUSBStandard(USBStandard), Device(PoweredON, DeviceID, Manufacturer) {}
  44.  
  45. void USBDevice::Connect() { mConnected = !mConnected; }
  46.  
  47. // ---------------------------------------
  48.  
  49. class NetworkDevice : public virtual Device {
  50. protected:
  51.     bool mConnected;
  52.     string mNetworkStandard;
  53. public:
  54.     NetworkDevice();
  55.     NetworkDevice(bool, string, bool, string, string);
  56.     virtual void Connect();
  57. };
  58.  
  59. // ---------------------------------------
  60.  
  61. NetworkDevice::NetworkDevice() : mConnected(false), mNetworkStandard(""), Device(false, "", "") {}
  62.  
  63. NetworkDevice::NetworkDevice(bool Connected, string NetworkStandard, bool PoweredON, string DeviceID, string Manufacturer) : mConnected(Connected), mNetworkStandard(NetworkStandard), Device(PoweredON, DeviceID, Manufacturer) {}
  64.  
  65. void NetworkDevice::Connect() { mConnected = !mConnected; }
  66.  
  67. // ---------------------------------------
  68.  
  69. class WirelessAdapter : public USBDevice, public NetworkDevice {
  70. private:
  71.     int mAntennas;
  72.     int mGain;
  73. public:
  74.     WirelessAdapter();
  75.     WirelessAdapter(int, int, bool, float, string, bool, string, string);
  76.     virtual void Connect();
  77.     void Status();
  78. };
  79.  
  80. // ---------------------------------------
  81.  
  82. WirelessAdapter::WirelessAdapter() : mAntennas(0), mGain(0), USBDevice(false, 2.0, false, "", ""), NetworkDevice(false, "", false, "", "") {}
  83.  
  84. 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) {}
  85.  
  86. void WirelessAdapter::Connect() {
  87.     USBDevice::Connect();
  88.     NetworkDevice::Connect();
  89. }
  90.  
  91. void WirelessAdapter::Status() {
  92.     if (USBDevice::mPoweredON) {
  93.         if (USBDevice::mConnected) {
  94.             cout << "USB Device is connected!" << endl;
  95.         }
  96.         else {
  97.             cout << "USB Device is disconnected!" << endl;
  98.         }
  99.     }
  100.     else {
  101.         cout << "USB Device is not powered on!" << endl;
  102.     }
  103.  
  104.     if (NetworkDevice::mPoweredON) {
  105.         if (NetworkDevice::mConnected) {
  106.             cout << "Network Device is connected!" << endl;
  107.         }
  108.         else {
  109.             cout << "Network Device is disconnected!" << endl;
  110.         }
  111.     }
  112.     else {
  113.         cout << "Network Device is not powered on!" << endl;
  114.     }
  115. }
  116.  
  117. // ---------------------------------------
  118.  
  119. int main() {
  120.     WirelessAdapter Samsung;
  121.  
  122.     Samsung.TurnON_OFF();
  123.     Samsung.Connect();
  124.     Samsung.Status();
  125.  
  126.     return 0;
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement