構建mfc窗體的簡略示例。本站提示廣大學習愛好者:(構建mfc窗體的簡略示例)文章只能為提供參考,不一定能成為您想要的結果。以下是構建mfc窗體的簡略示例正文
#include<afxwin.h>//包括MFC頭文件
//從MFC的重要框架窗體派生用戶窗體類
class CMyWnd:public CFrameWnd
{
public:
CMyWnd(LPCTSTR szTitle)
{
//挪用父類Create函數創立窗體
Create(NULL,szTitle);
}
};
//從MFC的運用法式派生用戶法式類
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
//籠罩繼續的運用法式初始化虛函數
BOOL CMyApp::InitInstance()
{
//創立窗體並保留到m_pMainWnd中
m_pMainWnd = new CMyWnd(_T("一個簡略的MFC法式"));
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}
CMyApp myApp;
在下面的例子c# 1.0中,CharIterator就是迭代器的完成,position字段存儲以後的迭代地位,經由過程Current屬性可以獲得以後迭代地位的元素,MoveNext辦法用於更新迭代地位,而且檢查下一個迭代地位是否是有用的。
當我們經由過程VS單步驟試上面語句的時刻:
foreach (var c in charList)
代碼起首履行到foreach語句的charList處取得迭代器CharIterator的實例,然子女碼履行到in會挪用迭代器的MoveNext辦法,最初變量c會獲得迭代器Current屬性的值;後面的步調停止後,會開端一輪新的輪回,挪用MoveNext辦法,獲得Current屬性的值。
經由過程C# 1.0中迭代器的代碼看到,要完成一個迭代器就要完成IEnumerator接口,然後完成IEnumerator接口中的MoveNext、Reset辦法和Current屬性。
在C# 2.0中可以直接應用yield語句來簡化迭代器的完成。
如下面public IEnumerator GetEnumerator()辦法中正文失落的部門。
經由過程下面的代碼可以看到,經由過程應用yield return語句,我們可以調換失落全部CharIterator類。
yield return語句就是告知編譯器,要完成一個迭代器塊。假如GetEnumerator辦法的前往類型長短泛型接口,那末迭代器塊的生成類型(yield type)是object,不然就是泛型接口的類型參數。