主程序

/*将抽象部分与实现部分分离,使它们都能够独立的变化*/
#include "bridge.h"int main()
{cout <<"main start" <<endl;  sample smp;smp.display();cout <<"main end" <<endl;    //sample::bridge bri;      //error: ‘class sample::bridge’ is privatereturn 0;
}

bridge.h

#include <boost/smart_ptr.hpp>
#include <iostream>
using namespace boost;
using namespace std;  class sample
{private:class bridge;shared_ptr<bridge> bptr;public:sample();void display();
};class sample::bridge
{public:void display();
};

bridge.cpp

#include "bridge.h"
sample::sample()
{bptr = make_shared<bridge>();
}
void sample::display()
{bptr->display();
}
void sample::bridge::display()
{cout << "bridge display!"<<endl;
}

makefile

.SUFFIXES:.h .c .cpp .oCC=$(CXX) $(CXX_FLAG)RM = rm
SRCS = bridge.cpp main.cpp
PROGRAM = bridge
OBJS=$(SRCS:.cpp=.o)INC_PATH =  -I$(BOOST_INCLUDE)
LIB_PATH =  -L$(BOOST_LIB)
LIBS = -lboost_date_time$(PROGRAM):$(OBJS)$(CC) $? $(LIB_PATH) $(LIBS) -o $@$(OBJS):$(SRCS)$(CC) $(CPPFLAGS) -c $(SRCS)  $(INC_PATH).PHONY:clean
clean:$(RM) $(PROGRAM) $(OBJS)

boost库shared_ptr实现桥接模式相关推荐

  1. 2015-03-12---外观模式,建造者模式(附代码),观察者模式(附代码),boost库应用

    今天白天主要看了boost库的应用,主要是经常使用的一些库,array,bind,function,regex,thread,unordered,ref,smartpointers库,晚上看了看设计模 ...

  2. C/C++ 开发 boost 库参考手册整理(2) 【学习笔记】

    文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...

  3. Boost库之asio io_service以及run、run_one、poll、poll_one区别

    Boost库之asio io_service以及run.run_one.poll.poll_one区别 原文:http://blog.csdn.net/byxdaz/article/details/7 ...

  4. Boost库学习(0)

    2019独角兽企业重金招聘Python工程师标准>>> 最近看了C++11标准,感觉C++的变得更强大了,连语法都有了点变化.(最后一次用C++可能还是在学校时,工作中一直用的是C, ...

  5. C++设计模式之桥接模式

    这篇文章主要介绍了C++设计模式之桥接模式,本文讲解了什么是桥接模式.为什么要使用桥接模式.什么时候使用桥接模式等内容,需要的朋友可以参考下 问题描述 现在要去画一个图形,图形有长方形.圆形和扇形等等 ...

  6. Windows mysql boost_Win7下Boost库的安装

    Boost库是C++领域公认的经过千锤百炼的知名C++类库,涉及编程中的方方面面,简单记录一下使用时的安装过程 1.boost库的下载 boost库官网主页:www.boost.org 2.安装 将下 ...

  7. android 桥梁模式,【设计模式】桥接模式

    本文主要介绍:桥接模式概念和用法. 模式背景 生活中,我们如果一个笔有三种型号:大,中,小.颜色一共有M种.如果需要所有型号都有相对应的颜色,那么就需要3*M只笔.但是如果我们转换一下:M种颜色代表M ...

  8. C++ boost库中的sp_counted_base实现解析

    boost库中对sp_counted_base实现根据不同的体系配备了不同的实现体,这里主要分析x86体系下的gcc实现版本. 在正式介绍该函数之前,需要介绍三个函数的实现. inline int a ...

  9. red hat Linux 配置Samba服务器(超详细:内含桥接模式)

    前几天做实验,我一直配置不好,ip地址和samba服务器,内心接近崩溃.于是今天决定一步一步搞定它 实验环境 windows10.vm.redhat6 实验 vm 桥接 因为实验需要,所以我们选择vm ...

最新文章

  1. 【数据结构】图的深度优先遍历 广度优先遍历
  2. 【java基础】POJO和JavaBean的区别
  3. Glide和Picasso的区别
  4. selective search算法步骤
  5. linux下性能测试mon,Linux性能评测工具之一:nmon篇
  6. #pragma comment(lib,ws2_32.lib)
  7. 自适应机器人:定义工业机械臂的未来
  8. [C#][原创]Magick.NET使用时一些弱点简介
  9. word文件做一半未响应_Word 2016 开个别文档总是未响应
  10. R语言根据日历周期处理时间序列数据(周、月、年等):使用xts包的apply.quarterly函数和mean函数计算时间序列的季度平均值(quarterly)
  11. 数据蜂巢架构演讲之路读后感
  12. 浪漫的七夕表白简单代码(简单的小代码)
  13. react 学习之Protal
  14. 数学建模常用算法—熵权法(EWM)
  15. 区块链钱包—BTC Java版离线签名交易
  16. 1月6日科技资讯|小辣椒手机创始人王晓雁加入小米;手机 QQ 可显示对方实时电量
  17. 【万物物联】Siri+快捷指令+onenet控制掌控板
  18. 动态链接 lazy binding 的原理与 GOT 表的保留表项
  19. 小白都能做到的使用css如何让一个盒子沾满剩余的空间
  20. 从稻农成长为技术领导者

热门文章

  1. cacti linux 模板,Cacti模板
  2. 构建iOS持续集成平台(三)——CI服务器与自动化部署
  3. telnet命令详解
  4. 深入解析QML引擎, 第4部分: 自定义解析器
  5. 201771010125王瑜《面向对象程序设计(Java)》第六周学习总结
  6. hadoop2 5个环境配置文件
  7. zabbix 监控 Esxi
  8. 合并石子 区间dp水题
  9. install xgboost package in python (Anaconda)
  10. 如何在Access中参数化日期类型,以解决Data type mismatch in criteria expression的问题...