2016-04-05 31 views
-1

MFCでランタイムクラス情報が必要なのはなぜですか? DECLARE_DYNAMICとIMPLEMENT_DYNAMICの使用は何ですか?MFCでランタイムクラス情報が必要なのはなぜですか?

+1

Google「DECLARE_DYNAMIC」「IMPLEMENT_DYNAMIC」「RTTI」 –

+0

これらのマクロが必要な理由はわかりませんが、なぜ我々はランタイムクラス情報の概念が必要なのか。そして、その有用性。誰でも簡単な例で説明することができます –

+0

これはすべてMSDN([DECLARE_DYNAMIC](https://msdn.microsoft.com/en-us/library/ywz9k63y.aspx)、[IMPLEMENT_DYNAMIC](https:// msdn 、[Using CObject](https://msdn.microsoft.com/en-us/library/1ybbhxe3.aspx)、特に[Dynamic Object(動的オブジェクト) Creation](https://msdn.microsoft.com/en-us/library/4a790bwx.aspx)を参照してください)。 @MichaelWalz:MFCの動的クラス情報はRTTI以上です。また、クラスファクトリを実装し、ドキュメントテンプレートを有効にし、オブジェクトのシリアル化のベースとして機能します。 – IInspectable

答えて

0
  1. RTTIがMFCとC++の非常に初期の段階で実装された方法でした。
  2. このメカニズムは、特定の「型」(CRuntimeClassへのポインタ)を持ち、そのインスタンスを作成するために使用されます。私。ドキュメント/フレーム/ビューモデルは、そのようなランタイムクラスをドキュメントテンプレート内で使用しています。 (特にDECLARE/IMPLEMENT_DYNAMIC)。
  3. また、CArchiveの動的シリアル化のものは、このランタイムクラスオブジェクトを使用しています。
関連する問題