1. 程式人生 > >C++設計模式之橋接模式

C++設計模式之橋接模式

//橋接模式,合成,聚合複用原則
#include<iostream>
using namespace std;

class Soft
{
public:
    virtual void run() = 0;
};

class Notepad :public Soft
{
public:
    void run()
    {
        cout << "執行Notepad++軟體" << endl;
    }
};

class QtCreator :public Soft
{
public:
    void run()
    {
        cout << "執行QtCreator軟體"
<< endl; } }; class Computer { protected: Soft* m_soft; public: void setsoft(Soft* soft) { m_soft = soft; } virtual void Run() = 0; }; class Lenovo :public Computer { public: Lenovo() { cout << "聯想電腦正在開機..." << endl; } void Run() { this
->m_soft->run(); } }; class Dale :public Computer { public: Dale() { cout << "戴爾電腦正在開機..." << endl; } void Run() { this->m_soft->run(); } }; int main() { Computer* lenovo = new Lenovo(); lenovo->setsoft(new Notepad()); lenovo->Run(); lenovo->setsoft(new
QtCreator()); lenovo->Run(); cout << endl; Computer* dale = new Dale(); dale->setsoft(new Notepad()); dale->Run(); dale->setsoft(new QtCreator()); dale->Run(); system("pause"); return 0; }

輸出:

聯想電腦正在開機...
執行Notepad++軟體
執行QtCreator軟體

戴爾電腦正在開機...
執行Notepad++軟體
執行QtCreator軟體
請按任意鍵繼續. . .