Boost之Smart_ptr库

来源:互联网 发布:剑雨江湖天罡进阶数据 编辑:程序博客网 时间:2024/05/16 12:55
//智能指针应用于桥接模式的例子
// smart_ptr.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <vld.h>#include <Windows.h>#include "Sample.h"int _tmain(int argc, _TCHAR* argv[]){CSample sample;sample.Print();system("pause");return 0;}
//sample.h
#pragma once#include "boost//smart_ptr.hpp"#include "boost//make_shared.hpp"using namespace boost;class CSample{public:CSample(void);~CSample(void);void Print();private:class CBridge;//私有智能指针(CBridge类型)shared_ptr<CBridge> m_bridge;};
//sample.cpp
#include "StdAfx.h"#include "Sample.h"#include <iostream>using namespace std;class CSample::CBridge{public:CBridge(){}void BridgePrint(){cout<< "BridgePrint"<< endl;}};//CSample::CSample():m_bridge(new CBridge)CSample::CSample(){m_bridge = boost::make_shared<CBridge>();}CSample::~CSample(void){}void CSample::Print(){m_bridge->BridgePrint();}



0 0