c++ 23种设计模式之桥接者模式

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>


//c++ 23种设计模式之桥接者模式
namespace DesignPattern_Bridge
{

	//类Implementor
	class Implementor
	{

	public:
		virtual void OperationImp()=0;

	};
	//类ConcreteImplementorA
	class ConcreteImplementorA:public Implementor
	{

	public:
		virtual void OperationImp(){
			
			printf("我是实例A\n");
		}

	};
	//类ConcreteImplementorB
	class ConcreteImplementorB:public Implementor
	{
		
	public:
		virtual void OperationImp(){
			
			printf("我是实例B\n");
		}
		
	};
	//定义类Abstraction
	class Abstraction
	{

	public:
		void Operation(Implementor *imp)
		{

			assert(imp);
			imp->OperationImp();

		}
	};
}
//为了编译其他文件,先注释

void main(){

	using namespace DesignPattern_Bridge;//使用命名空间,那么就导入了命名空间中的所有类

	Abstraction obj;
	Implementor *impa=new ConcreteImplementorA();
	Implementor *impb=new ConcreteImplementorB();
	obj.Operation(impa);
	obj.Operation(impb);
}

你可能感兴趣的:(c++ 23种设计模式之桥接者模式)