#01 外观模式#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;//电视机
class Television{
public:void On(){cout << "电视机打开..." << endl;}void Off(){cout << "电视机关闭..." << endl;}
};//灯
class Light{
public:void On(){cout << "灯打开..." << endl;}void Off(){cout << "灯关闭..." << endl;}
};
//音箱
class Audio{
public:void On(){cout << "音响打开..." << endl;}void Off(){cout << "音响关闭..." << endl;}
};//麦克风
class Mircophone{
public:void On(){cout << "麦克风打开..." << endl;}void Off(){cout << "麦克风关闭..." << endl;}
};//DVD播放器
class DVDPlayer{
public:void On(){cout << "DVD播放器打开..." << endl;}void Off(){cout << "DVD播放器关闭..." << endl;}
};//游戏机
class Gamemachine{
public:void On(){cout << "游戏机打开..." << endl;}void Off(){cout << "游戏机关闭..." << endl;}
};class KTVMode{
public:KTVMode(){pTv = new Television;pLight = new Light;pAudio = new Audio;pMicrophone = new Mircophone;pDvd = new DVDPlayer;}void OnKTV(){pTv->On();pLight->Off();pAudio->On();pMicrophone->On();pDvd->On();}void OffKTV(){pTv->Off();pLight->On();pAudio->Off();pMicrophone->Off();pDvd->Off();}~KTVMode(){delete pTv;delete pLight;delete pAudio;delete pMicrophone;delete pDvd;}
public:Television* pTv;Light* pLight;Audio* pAudio;Mircophone* pMicrophone;DVDPlayer* pDvd;
};void test01(){KTVMode* ktv = new KTVMode;ktv->OnKTV();
}int main(void)
{test01();system("pause");return 0;
}