C++利用智能指针桥接模式设计

#include <boost/make_shared.hpp>
#include <boost/shared_ptr.hpp>
using namespace boost;
using namespace std;


class Bridge
{
public:
class Person;
Bridge();
~Bridge();
void ShowMsg();

private:
boost::shared_ptr<Person> m_person;
};


class Bridge::Person
{
public:
Person();
~Person();
void ShowMsg();
};

void Bridge::ShowMsg()
{
this->m_person->ShowMsg();
}

Bridge::Bridge():m_person(new Person())
{

}

void Bridge::Person::ShowMsg()
{
cout << "person" << endl;
}

Bridge::Person::~Person()
{

}

Bridge::Person::Person()
{

}

Bridge::~Bridge()
{

}

void main()
{

Bridge s;
s.ShowMsg();
int wait;
cin >> wait;
}

 

posted @ 2013-07-06 12:38  Predator  阅读(260)  评论(0编辑  收藏  举报