実行時にクラスにフィールド (以前は存在しなかったフィールド) を追加する方法はありますか? このスニペットのようなもの:
Myobject *ob; // create an object
ob->addField("newField",44); // we add the field to the class and we assign an initial value to it
printf("%d",ob->newField); // now we can access that field
私はそれがどのように行われるか、それが醜いハックであろうとなかろうと気にしません。
別の例:このクラスを記述した XML ファイルがあるとします。
<class name="MyClass">
<member name="field1" />
<member name="field2" />
</class>
フィールド「field1」と「field2」をクラスに「追加」したい(クラスがすでに存在すると仮定)。これがクラスのコードだとしましょう:
class MyClass {
};
実行時にクラスを作成したくありません。メンバー/フィールドを既存のものに追加したいだけです。
ありがとうございました !