外观模式(c++)
#include<iostream> using namespace std; class TV { public: void open() { cout << "打开电视" << endl; } void off() { cout << "关闭电视" << endl; } }; class Light { public: void open() { cout << "打开灯" << endl; } void off() { cout << "关闭灯" << endl; } }; class YinXiang { public: void open() { cout << "打开音响" << endl; } void off() { cout << "关闭音响" << endl; } }; class MainKeFeng { public: void open() { cout << "打开麦克风" << endl; } void off() { cout << "关闭麦克风" << endl; } }; class DVD { public: void open() { cout << "打开DvD" << endl; } void off() { cout << "关闭DvD" << endl; } }; class Youxi { public: void open() { cout << "打开游戏机" << endl; } void off() { cout << "关闭游戏机" << endl; } }; //外观 class Control { public: void KTVModel() { TV* tv = new TV; tv->open(); Light* l = new Light; l->open(); YinXiang* yx = new YinXiang; yx->open(); MainKeFeng* mkf = new MainKeFeng; mkf->open(); DVD* dvd = new DVD; dvd->open(); delete tv; delete l; delete yx; delete mkf; delete dvd; } void YouxiModel() { TV* tv = new TV; tv->open(); YinXiang* yx = new YinXiang; yx->open(); Youxi* dvd = new Youxi; dvd->open(); delete tv; delete yx; delete dvd; } }; int main() { Control c; c.KTVModel(); cout << "***************************" << endl; c.YouxiModel(); cin.get(); return 0; }