C++设计模式之桥接模式(Bridge)

来源:互联网 发布:淘宝联盟链接怎么转换 编辑:程序博客网 时间:2024/06/16 19:41
#include "StdAfx.h"#include <SSTREAM>#include<iostream>#include<fstream>#include<malloc.h>#include <windows.h>using namespace std; class BaseRoad{public:    virtual void Run()=0;protected:private:};class BaseCar{public:    BaseRoad* m_pRoad;    virtual void Run()=0;protected:private:};class SpeedRoad:public BaseRoad{public:    virtual void Run()    {        printf("在高速公路上跑...\n");    }protected:private:};class StreetRoad:public BaseRoad{public:    virtual void Run()    {        printf("在街道上跑....\n");    }protected:private:};class Car:public BaseCar{public:    virtual void Run()    {        printf("小车在");        m_pRoad->Run();    }protected:private:};class Bus:public BaseCar{public:    virtual void Run()    {        printf("巴士在");        m_pRoad->Run();//桥接到下一层    }protected:private:};class BasePeople{public:    BaseCar* m_pCar;    virtual void Run()=0;protected:private:};class Man:public BasePeople{public:    virtual void Run()    {        printf("男人驾驶");        m_pCar->Run();//桥接到下一层    }protected:private:};int main(void) {     BaseRoad *pRoad=new SpeedRoad();    BaseCar* pCar=new Car();    pCar->m_pRoad=pRoad;    //pCar->Run();    BasePeople* pMan=new Man();    pMan->m_pCar=pCar;    pMan->Run();    return 0; }

0 0
原创粉丝点击