假设我们有这样的方案:
qqqapi.h:
int register_qqq(Qqq* klass);
qqqalpha.cpp:
QqqAlpha::QqqAlpha(...) : Qqq(...) { }
QqqAlpha instance;
int dummy = register_qqq(&instance);
qqqbeta.cpp:
QqqBeta::QqqBeta(...) : Qqq(...) { }
QqqBeta instance;
int dummy = register_qqq(&instance);
这样,您只需复制源文件和头文件,更改适当的标识符即可创建新的 qqq 类型。无需手动将任何东西添加到任何列表中。
这种模式怎么称呼?有没有关于正确实施这些事情的建议?