bridge.cpp

来自「这是一些c++例程」· C++ 代码 · 共 39 行

CPP
39
字号
#include <assert.h>
namespace DesignPattern_Bridge
{
	//定义 class Implementor
	class Implementor
	{
	public:
		virtual void OperationImp() = 0 ;
	} ;
	//定义class ConcreteImplementorA
	class ConcreteImplementorA : public Implementor
	{
	public:
		virtual void OperationImp() {}
	} ;
	//定义class ConcreteImplementorB
	class ConcreteImplementorB : public Implementor
	{
	public:
		virtual void OperationImp() {}
	} ;
	//定义class Abstraction
	class Abstraction
	{
	public:
		void Operation(Implementor* imp) { assert(imp) ; imp->OperationImp() ; }
/*将客户端的请求转发给它的Implementor对象*/
	} ;
}
void main()
{
	using namespace DesignPattern_Bridge ;
	Abstraction obj ;
	Implementor *impa = new ConcreteImplementorA() ;		/*创建实现类ConcreteImplementorA对象*/
	Implementor *impb = new ConcreteImplementorB() ;		/*创建实现类ConcreteImplementorB对象*/
	obj.Operation(impa) ;		//第一种实现方法
	obj.Operation(impb) ;		//第二种实现方法
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?