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

来源:互联网 发布:悦诗风吟 淘宝店怎么开 编辑:程序博客网 时间:2024/06/06 10:48

标题说得不清楚,举个例子吧 
比如一个一个类的对象: 
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? 


------解决方案--------------------------------------------------------

方法1:让a类和b类分别有一个指针,运行时让他们指向同一个shared对象。 
方法2:让a类和b类分别从c类继承,让c类有一个静态的shared对象。 
二、一个简单的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();