動的宣言と 動的実装とは
DECLARE_DYNAMIC と IMPLEMENT_DYNAMIC は、実行時に動的にクラスのメンバ関数を生成するために C++ で使用されるマクロ定義です。
DECLARE_DYNAMIC マクロ定義は、クラスの宣言時に動的に作成されるメンバー関数を宣言するために使用されます。その構文を以下に示します。
DECLARE_DYNAMIC(class_name)
class_name は動的作成メンバー関数を宣言するクラス名です。
IMPEMENT_DYNAMIC マクロ定義を使用して、クラスの実装ファイルで動的に作成されたメンバ関数をインプリメントします。その構文は次のとおりです。
IMPLEMENT_DYNAMIC(class_name, base_class_name)
class_nameは動的メソッドを生成する必要があるクラス名で、base_class_nameは基底クラス名です。IMPLEMENT_DYNAMICマクロ定義は、クラスの動的メソッドの関連コードを提供します。
動的型のDECLARE_DYNAMICやIMPLEMENT_DYNAMICマクロを用いることで、実行時にクラスの動的作成されたメンバ関数が利用可能になります。これは、例えばプラグインシステムやランタイム拡張機能にあるような、動的に新しいメンバ関数を追加する必要のある場合に便利です。