我正在编写用C++编写的简单框架。现在我有一些像用虚拟方法组织单身人士的最佳方法
app.cpp
#include "app.h"
namespace App
{
}
void App::init()
{
}
void App::timerEvent(int time)
{
}
但是,如果我不想要听timerEvent在某些情况下是什么?我仍然必须写空方法实现。
我的想法是从命名空间移动到class App : public BaseApp
在BaseApp
virtual void BaseApp::init() = 0
和virtual void BaseApp::timerEvent(int time) {}
(与之相似Qt的QApplication
)。然而,应用程序应该是单身人士,但我没有看到从BaseApp
指定它的任何方式,所以我必须在App
中编写单身代码,并且所有虚拟想法都没有意义。
我应该如何设计它?
P.S.我不想在这里使用听众。这对我来说似乎有点矫枉过正。
P.P.S.我需要单身人士,因为我从main
初始化应用程序实例,但仍想从其他类访问它的方法。
我不明白一切,但在任何情况下,只要不使用单例,并基于该原理设计的架构。 –
您可以*选择*仅创建**一个** App对象。你不需要一个单身人士来做出选择。 – Galik
@加利克,但我没有看到任何其他的可能性。我想从另一个代码部分调用我的应用程序实例方法。 – Ximik