我正在編寫用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