C
namespace MorningStar {
class Module {
public:
virtual QString name() = 0;
virtual QIcon icon() { return QIcon(); }
virtual void action() = 0;
};
} // namespace MorningStar
class NotesModule : public Module {
public:
virtual QString name() override { return tr("Notes"); }
virtual void action() override; // impl создает там где-то уже само окно
};
// Т.е, получается, в morningstar.h / *.cpp будет АБК и от него наследоваться будут модули, например
class TimerModule : public Module ...
class Nettime : public Module ....
И т.п ...