C++では正確にはできませんが、関数を持つコードを生成できるツールチェーンがあります。これらすべてのクラスのリスト。C++で特定のクラスを継承している宣言されたすべてのクラスのリストを取得するには
class MyClass : public ParticularClass {
....
}
class MyClass2 : public ParticularClass {
....
}
その後、実行時に、私はクラスの単一のインスタンスへのポインタをしたい:例えば、複数のファイル間で私のようなものを持っています。のは、私の生成されたコードは次のようになりましょう:
void __populate_classes() {
superList.append(new MyClass());
superList.append(new MyClass2());
}
また、superListはタイプList<ParticularClass*>
であろう。プラス、私はQtを使用しているとParticularClass
はQObject
になるので、私はクラスの名前をとにかくフェッチすることができます。私は基本的にクラスをイントロスペクトする必要があるので、私の内部コードは新しく定義された型についてはあまり気にしません。
だから、いくつかのツールチェーンでこのコードを生成する方法はありますか?可能であればqmake
で可能であれば、それは恐ろしいケーキのアイシングのようなものでしょう:)
ありがとうございます。