拜託大大幫忙解讀一下這3行程式, MFC (初步)

就單行的描述說明,
CRuntimeClass* CRuntimeClass::pFirstClass = NULL;

令 CRuntimeClass 裡面的指標 pFirstClass 為NULL ?
------------------------------------------------------------------
static CObject* PASCAL CreateObject();

宣告一個靜態物件指標 , 名稱為 PASCAL ?? CreateObject() ??
-------------------------------------------------------------------
CObject* PASCAL CFrameWnd::CreateObject() { return new CFrameWnd; }

定義 PASCAL裡面的CreateObject 函式, 傳回一個新建立的物件 , 其型態為 CFrameWnd ,
不懂為什麼前面要加 CObject* ??








補充說明:
struct CRuntimeClass
{
// Attributes
LPCSTR m_lpszClassName;
int m_nObjectSize;
UINT m_wSchema; // schema number of the loaded class
CObject* (PASCAL* m_pfnCreateObject)(); // NULL => abstract class
CRuntimeClass* m_pBaseClass;
CObject* CreateObject();
static CRuntimeClass* PASCAL Load();
// CRuntimeClass objects linked together in simple list
static CRuntimeClass* pFirstClass; // start of class list
CRuntimeClass* m_pNextClass; // linked list of registered classes
};


感謝~~~
2011-07-22 12:27 發佈
文章關鍵字 MFC 行程
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4
1.這是基本的C++用法, 你看不懂的話可能要重學一下C++.
只是在這個class裏定義一個同class的指標變數而已.
資料結構學過嗎? 實作有很多有類似的用法....

2.google "MFC PASCAL"

3.看過MFC的Hierarchy Chart(在MSDN裏)了嗎? 如果沒有最好早點去看...
C++的upcasting與downcasting
CObject->CWnd->CFrameWnd

寫程式一定要自己完全理解才行, 所以只能點到為止, 其它的自己查吧.
與失敗為伍者,天天靠盃都是別人的錯。 與成功為伍者,天天跟失敗切磋直到不再出錯。
原來PASCAL 祇是宣告排列方式而已阿
真是一與驚醒夢中人

感謝大大的開示~^^
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?