首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求类的对象之间,不同类的对象之间如果共享一个对象的方法?解决方案

2012-03-01 
求类的对象之间,不同类的对象之间如果共享一个对象的方法?标题说得不清楚,举个例子吧比如一个一个类的对象

求类的对象之间,不同类的对象之间如果共享一个对象的方法?
标题说得不清楚,举个例子吧
比如一个一个类的对象:
class   shared{};

class   a{};

class   b{};

shared   shared_object;
a   a_object1,a_object2;
b   b_object;

请问如何建立shared,a,b这三个类之间的关系,使得对象a_object1,a_object2,b_object,能共享对象shared_object?


[解决办法]
你用Singleton不就得了。。。
[解决办法]
方法1:让a类和b类分别有一个指针,运行时让他们指向同一个shared对象。
方法2:让a类和b类分别从c类继承,让c类有一个静态的shared对象。
[解决办法]
甘草是做把shared为做成singleton,那就不仅仅是针对a和b了,而是整个程序中只有一份singleton的类,你可以看看《设计模式》一书上的相关介绍。
[解决办法]
一个简单的singleton
//shared.h
class shared
{
public:
static shared* instance();
protected:
shared();
};

//shared.cpp
#include "Singleton.h "
shared *shared::instance()
{
static shared _instance;
return &_instance;
}
shared::shared()
{
}


需要shared时,只需要
shared* ps = shared::instance();

热点排行