• 设计模式之桥接模式 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驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    js对象写法
    IE6双边距bug及其解决办法
    图片轮播
    盒子水平和垂直同时居中方法
    选项卡切换
    针对IE6兼容png
    html5兼容
    sublime快捷键总结
    七种设计原则
    Git基本命令
  • 原文地址:https://www.cnblogs.com/itdef/p/7456844.html
Copyright © 2020-2023  润新知