Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class CElectricDevice
- {
- private:
- bool PluggedIn = false;
- public:
- bool getPluggedIn()
- {
- return PluggedIn;
- }
- void PluggIn()
- {
- PluggedIn = true;
- }
- void Unplug()
- {
- PluggedIn = false;
- }
- CElectricDevice(){}
- ~CElectricDevice(){}
- };
- //class CKettleBase{ bool getPluggedIn(){};};
- class CElectricKettle :public CElectricDevice
- {
- private:
- bool TurnedOn;
- bool OnTheBase = true;
- public:
- bool setOnTheBase(bool isOnTheBase)
- {
- OnTheBase = isOnTheBase;
- }
- bool getOnTheBase()
- {
- return OnTheBase;
- }
- bool TurnOn()
- {
- if(OnTheBase)
- {
- // return CKettleBase::getPluggedIn();
- }
- }
- CElectricKettle() {}
- ~CElectricKettle() {}
- };
- class CKettleBase :public CElectricDevice
- {
- private:
- CElectricKettle* mKettle;
- public:
- // CElectricKettle mKettle->TurnOn();
- CElectricKettle* getmKettle(){return mKettle;}
- CKettleBase(): mKettle(new CElectricKettle()) {}
- ~CKettleBase()
- {
- delete mKettle;
- }
- };
- int main()
- {
- CKettleBase X;
- cout<<X.getPluggedIn()<<endl;
- X.PluggIn();
- cout<<X.getPluggedIn()<<endl;
- cout<<X.getmKettle()->getPluggedIn()<<endl;
- cout<<X.getmKettle()->getOnTheBase()<<endl;
- X.getmKettle()->setOnTheBase(false);
- cout<<X.getmKettle()->getPluggedIn()<<endl;
- cout<<X.getmKettle()->getOnTheBase()<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement