23种设计模式之桥接模式(结构型,4 Bridge,c++实现)

23种设计模式之桥接模式(结构型,4 Bridge,c++实现)

代码实现:

#include <iostream>


using namespace std;


class Engine

{

public:

virtual void installEngine() = 0;

};


class Engine4400C : public Engine

{

public:

virtual void installEngine()

{

cout << "install Engine4400C" << endl;

}

};


class Engine4500C : public Engine

{

public:

virtual void installEngine()

{

cout << "install Engine4400C" << endl;

}

};


class Car

{

public:

Car(Engine* engine)

{

this->engine = engine;

}

virtual void installEngine() = 0;

protected:

Engine* engine;

};


class BMW5 :public Car

{

public:

BMW5(Engine* engine) : Car(engine)

{

;

}

virtual void installEngine() {

cout << "I'm BMW5" << endl;

engine->installEngine();

}

};


class BMW6 :public Car

{

public:

BMW6(Engine* engine) : Car(engine)

{

;

}

virtual void installEngine() {


engine->installEngine();

}

};




void main()

{

Engine* engine = NULL;

Car* car = NULL;


engine = new Engine4400C();

car = new BMW5(engine);

car->installEngine();


delete engine;

delete car;

}