bridge模式

作者: 老练子丶2017 | 来源:发表于2017-11-20 20:49 被阅读0次

写法跟其他模式类型,就因为理解的含义不同?

一个继承抽象基类,一个继承实现基类,抽象类里面有个实现类的指针

bridge.h

#ifndef _BRIDGE_H

#define _BRIDGE_H

#include <iostream>

using namespace std;

class AbstractionImp

{

public:

virtual ~AbstractionImp() {}

virtual void Operation()=0;

protected:

AbstractionImp() {}

};

class RealAbstractionImp : public AbstractionImp

{

public:

RealAbstractionImp() {};

virtual ~RealAbstractionImp() {};

void Operation() {

cout << "RealAbstractionImp" << endl;

}

};

class Abstraction

{

public:

virtual ~Abstraction() {};

virtual void Operation()=0;

protected:

Abstraction() {}

};

class RealAbstraction : public Abstraction

{

public:

RealAbstraction(AbstractionImp* imp) : _imp(imp) {}

~RealAbstraction() {}

void Operation() {

_imp->Operation();

}

private:

AbstractionImp* _imp;

};

#endif // _BRIDGE_H

bridge.cpp

#include "bridge.h"

int main()

{

AbstractionImp* imp = new RealAbstractionImp;

Abstraction* action = new RealAbstraction(imp);

action->Operation();

return 0;

}

编译:make bridge

相关文章

网友评论

    本文标题:bridge模式

    本文链接:https://www.haomeiwen.com/subject/srsbvxtx.html