C++ でリフレクション メカニズムの実装に取り組んでいます。コード内のすべてのオブジェクトは、Class 型の静的メンバー データを含む Object (独自のジェネリック型) のサブクラスです。
class Class{
public:
Class(const std::string &n, Object *(*c)());
protected:
std::string name; // Name for subclass
Object *(*create)(); // Pointer to creation function for subclass
};
静的なクラス メンバー データムを持つオブジェクトのサブクラスについては、そのサブクラスのコンストラクターへのポインターを使用して「作成」を初期化できるようにしたいと考えています。