dynamiccreation:MFC里的对象动态创建(Dynamic Object Creation)



最近又在用MFC就研究了把MFC对象动态创建(Dynamic Object Creation)整理总结下经验



如果用 文本常量 动态创建使用DECLARE_DYNCREATE、IMPLEMENT_DYNCREATE还有RUNTIME_CLASS这 3个宏如果要用 串变量 动态创建就必须使用DECLARE_SERIAL、IMPLEMENT_SERIAL这两个宏还有CRuntimeClass::FromName这个静态



举例代码如下:

# _AFXDLL

# <afx.h>
# <afxwin.h>

A : public CObject
{
DECLARE_SERIAL(A)
public:
A { a = 0; }
A( a) { this->a = a; }
void SayHello { AfxMessageBox(_T("Hello!")); }
private:
a;
};

IMPLEMENT_SERIAL(A, CObject, 100)


{
wchar_t szClassName = _T("A");
CRuntimeClass* pRuntimeClass = CRuntimeClass::FromName(szClassName);
//CRuntimeClass* pRuntimeClass = RUNTIME_CLASS(A);
A* pa = (A*)pRuntimeClass->CreateObject;
pa->SayHello;

0;
}
Tags:  java面向对象 jsp内置对象 研究对象object dynamiccreation

延伸阅读

最新评论

发表评论