设计模式之桥接模式 c++11

参考http://blog.csdn.net/calmreason/article/details/50909321

桥接模式 实现与抽象之间由指针关联

调用sample类 实际是调用sample类保存的实现类的方法

代码:

// 003.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <memory>
#include <iostream>


using namespace std;

class imp;

class sample {
public:
    sample(void);
    ~sample(void);
    void print(void) const;
private:
    std::shared_ptr<imp> pimp_;
};

sample::sample(void) :pimp_(new imp) {
    std::cout << "sample()" << std::endl;
}

sample::~sample(void) {
    std::cout << "~sample()" << std::endl;
}

class imp {
public:
    imp(void);
    ~imp(void);
    void imp_print(void)const;
};

imp::imp(void)
{
    std::cout << "imp()" << std::endl;
}

imp::~imp() {
    std::cout <<"~imp()" << std::endl;
}

void imp::imp_print(void)const
{
    std::cout << "imp::print()" << std::endl;
}



void sample::print(void)const
{
    this->pimp_->imp_print();
}




int main()
{
    sample s;
    s.print();

    return 0;
}
View Code
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
阿里打赏 微信打赏
原文地址:https://www.cnblogs.com/itdef/p/7456844.html