我目前有这个课程:
Activity
, ActivityManager
(扩展Activity
)。
我有一种方法Activity
,它获取的单例对象ActivityManager
。
过了一会儿,我看到我陷入了“没有生命的生活”的悖论,因为 ActivityManager 只会由编译器“创建”,AFTER Activity 是。那么,我该怎么做这种事情呢?
我的意思是,我怎样才能获得从第一个对象扩展的一类对象?
我什至不知道如何把它放在谷歌上,所以,请帮助我!谢谢
编辑
简化Activity
class Activity
{
public:
void start();
};
void Activity::start(void){
// Start current Activity on the ActivityManager Stack
ActivityManager *am;
am = ActivityManager::getInstance();
am->start(this);
}
简化ActivityManager
:
class ActivityManager: public Activity
{
private:
// Singleton Object
static ActivityManager *singleton;
public:
// Singleton method to return defauld object instance
static ActivityManager* getInstance(void);
// Overload method, used to run others Activityes
void start(Activity& activity);
};
// Singleton method to return default ActivityManager object instance
ActivityManager* ActivityManager::getInstance(){
if(!singleton) singleton = new ActivityManager();
return singleton;
}
// Function called on request to start new activity
void ActivityManager::start(Activity& activity){
}