次のようなスキームがあるとします。
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 タイプを作成できます。リストに手動で何かを追加する必要はありません。
このパターンはどのように呼ばれますか? そのようなことを適切に実装するための推奨事項はありますか?