vc 之動態生成

         個人觀點: 如果拿雞蛋作爲一個類,那麼可以把雞蛋打碎,可以看到裏面什麼東西;如果把裏面什麼東西告訴你,能還原成一個雞蛋麼?這就是動態生成要做的吧

  #define DECLARE_DYNCREATE(class_name) /
 DECLARE_DYNAMIC(class_name) /
 static CObject* PASCAL CreateObject();

CObject* CRuntimeClass::CreateObject()
{
 if (m_pfnCreateObject == NULL)
 {
  TRACE(_T("Error: Trying to create object which is not ")
     _T("DECLARE_DYNCREATE /nor DECLARE_SERIAL: %hs./n"),
   m_lpszClassName);
  return NULL;
 }

 CObject* pObject = NULL;
 TRY
 {
  pObject = (*m_pfnCreateObject)();
 }
 END_TRY

 return pObject;
}
 有了RTTI ,(*m_pfnCreateObject)() 便可以返回正確的類指針。

 

 

 //////////////////////////////////////

 下雨了,收衣服了。

  未解決.

 

                                                                                                                                                 石頭

                                                                                                                                                2006/08/10

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章