桥接模式

class Engine {
public:
	virtual void InstallEngine() = 0;
};
class _4400ss:public Engine{
public:
	virtual void InstallEngine(){
		cout << "4400c发动机"<< endl;
	}
};
class _4500ss :public Engine {
public:
	virtual void InstallEngine() {
		cout << "4500c发动机" << endl;
	}
};
class Car {
public:
	Car(Engine *engine)
	{
		this->m_engine = engine;
	}
	virtual void installEngine() = 0;
protected:
	Engine *m_engine;
};
class BWM5:public Car {
public:
	BWM5(Engine *engine):Car(engine){
		
	}
	virtual void installEngine() {
		m_engine->InstallEngine();
	}
};

class BWM6 :public Car {
public:
	BWM6(Engine *engine) :Car(engine) {
		;
	}
	virtual void installEngine() {
		m_engine->InstallEngine();
	}
private:
};
void main() 
{
	Engine *engine = new _4500ss;
	Car *bwm6 = new BWM6(engine);

	bwm6->installEngine();
	delete bwm6;
	delete engine;

	system("pause");
}

通过上面给车安装发动机的例子来看,桥接模式就是我利用一个抽象的类来作为桥梁,上面的例子就是Car抽象类作为bridge。里面包含了抽象类发动机Engine的对象。车的子类在初始化的时候就可以进行调用Engine的子类对象了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值