freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windows編程基礎(chǔ)新手入門(mén)資料(參考版)

2025-06-28 23:39本頁(yè)面
  

【正文】 例如:。例如:class CPerson{public: … ~CPerson( ) { } // 析構(gòu)函數(shù) …}。這樣,數(shù)據(jù)成員(尤其是用new為其開(kāi)辟的內(nèi)存空間)的釋放代碼就可放入析構(gòu)函數(shù)的函數(shù)體中,以便對(duì)象消失后自動(dòng)調(diào)用。析構(gòu)函數(shù)是C++類(lèi)中另一個(gè)特殊的成員函數(shù),它只是在類(lèi)名稱(chēng)前加上一個(gè)“~”符號(hào)(邏輯非),以與構(gòu)造函數(shù)功能相反。另外,構(gòu)造函數(shù)的訪問(wèn)屬性必須是公有型(public),否則上述的類(lèi)對(duì)象定義也是錯(cuò)誤的。 // 錯(cuò)誤則因?yàn)檎也坏侥J(rèn)構(gòu)造函數(shù)而出現(xiàn)編譯錯(cuò)誤。 會(huì)自動(dòng)調(diào)用默認(rèn)構(gòu)造函數(shù)此時(shí),由于對(duì)象one沒(méi)指定任何初值,因而編譯會(huì)自動(dòng)調(diào)用類(lèi)中隱式生成的默認(rèn)構(gòu)造函數(shù)對(duì)其初始化。例如,對(duì)于CPerson類(lèi)來(lái)說(shuō),默認(rèn)構(gòu)造函數(shù)的形式如下:CPerson( ) // 默認(rèn)構(gòu)造函數(shù)的形式{ }默認(rèn)構(gòu)造函數(shù)的目的是使下列對(duì)象定義形式合法:CPerson one??梢?jiàn),構(gòu)造函數(shù)提供了對(duì)象的初始化方式。③ (170, 130),因而調(diào)用的是C構(gòu)造函數(shù),此時(shí)對(duì)象的私有數(shù)據(jù)成員height和weight初值分別設(shè)定為170、130,而name初值沒(méi)有指定,它可能是默認(rèn)值或無(wú)效值。其中,構(gòu)造函數(shù)CPerson(float h, float w = 120),不僅設(shè)置了形參w的默認(rèn)值,而且還將該構(gòu)造函數(shù)的聲明在類(lèi)中進(jìn)行,其定義在類(lèi)體外實(shí)現(xiàn)。cout表示標(biāo)準(zhǔn)輸出流對(duì)象(屏幕),“”是插入符,它將后面的內(nèi)容插入到cout中,即輸出到屏幕上。 return 0。 CPerson three(DING, 170, 130)。 CPerson two(170, 130)。}int main(){ CPerson one(DING)。CPerson::CPerson(float h, float w){ height = h。 // 身高 float weight。 } private: char name[20]。 } CPerson(float h, float w = 120)。 weight = w。例如: include class CPerson{ public: CPerson(char *str, float h, float w) // A:構(gòu)造函數(shù) { strcpy(name, str)。構(gòu)造函數(shù)的最大特點(diǎn)是在對(duì)象建立時(shí)它會(huì)被自動(dòng)執(zhí)行,因此用于變量、對(duì)象的初始化代碼一般放在構(gòu)造函數(shù)中。1.構(gòu)造函數(shù)C++規(guī)定,在類(lèi)的定義中是不能對(duì)數(shù)據(jù)成員進(jìn)行初始化的。構(gòu)造函數(shù)的功能是在創(chuàng)建對(duì)象時(shí),給數(shù)據(jù)成員賦初值,即給對(duì)象初始化。如同變量一樣,用“類(lèi)”也可定義一個(gè)對(duì)象,此時(shí)的對(duì)象稱(chēng)為類(lèi)的實(shí)例。需要說(shuō)明的是,下面的兩種表示是等價(jià)的(對(duì)于成員函數(shù)也適用):對(duì)象指針名成員變量(*對(duì)象指針名).成員變量 例如,(*two).getName()與twogetName()等價(jià)。要注意,由于類(lèi)的封裝性,每個(gè)成員均有聲明的訪問(wèn)屬性,一個(gè)類(lèi)對(duì)象只能訪問(wèn)該類(lèi)的公有型成員,而對(duì)于私有型成員則不能訪問(wèn),例如getName和getNo等公有成員可以由對(duì)象通過(guò)上述方式來(lái)訪問(wèn),但strName、strStuNo、fScore等私有成員不能被對(duì)象來(lái)訪問(wèn)。訪問(wèn)對(duì)象的成員變量和成員函數(shù)與訪問(wèn)一般結(jié)構(gòu)的變量的方法是一樣的??梢?jiàn),在程序中,對(duì)象的使用和變量是一樣的,只是對(duì)象還有成員的訪問(wèn)等手段。若對(duì)象是一個(gè)指針,則還可像指針變量那樣進(jìn)行初始化,例如:CStuscore *two = amp。例如:CStuscore one, *Stu, Stus[2]。其中,類(lèi)名是已聲明過(guò)的類(lèi)的標(biāo)識(shí)符,對(duì)象名可以有一個(gè)或多個(gè),多個(gè)時(shí)要用逗號(hào)隔開(kāi)。類(lèi)的對(duì)象也有好幾種定義方式。習(xí)慣上,往往將類(lèi)的聲明和實(shí)現(xiàn)分開(kāi)來(lái)編寫(xiě)代碼,這也是Visual C++的一種規(guī)范??梢?jiàn),類(lèi)中的私有數(shù)據(jù)成員只能通過(guò)公有接口函數(shù)(像getName和getNo函數(shù))來(lái)訪問(wèn),從而保證數(shù)據(jù)的安全性。這表明數(shù)據(jù)成員strName、strStuNo、fScore只能在類(lèi)中使用,而不能在類(lèi)外使用。}本例中用關(guān)鍵詞class聲明了名為CStuscore的類(lèi)。 // 三門(mén)課程成績(jī)}。 // 姓名 char strStuNO[9]。 } char * getNo() // 獲取學(xué)號(hào):直接在類(lèi)中完成 { return strStuNO。即:函數(shù)類(lèi)型 類(lèi)名::函數(shù)名( 形式參數(shù)表 )函數(shù)體{ …}例如,下面的類(lèi)的定義示例代碼:class CStuscore { public: float Average(void)。成員函數(shù)既可以在類(lèi)中進(jìn)行定義,也可先在類(lèi)中聲明函數(shù)原型,然后在類(lèi)外定義,這種定義又稱(chēng)為成員函數(shù)的實(shí)現(xiàn)。對(duì)于private成員來(lái)說(shuō),它們是私有的,不能在類(lèi)外訪問(wèn),數(shù)據(jù)成員只能由類(lèi)中的函數(shù)所使用,成員函數(shù)只允許在類(lèi)中調(diào)用。類(lèi)中關(guān)鍵字public、private和protected聲明了類(lèi)中的成員與類(lèi)外之間的關(guān)系,稱(chēng)為訪問(wèn)權(quán)限。注意:類(lèi)體中最后一個(gè)花括號(hào)后面的分號(hào)“。數(shù)據(jù)成員用來(lái)描述類(lèi)狀態(tài)等的屬性,由于數(shù)據(jù)成員常用變量來(lái)定義,所以有時(shí)又將這樣的數(shù)據(jù)成員稱(chēng)為成員變量。 各個(gè)成員函數(shù)的實(shí)現(xiàn) // 實(shí)現(xiàn)部分其中,class是類(lèi)聲明的關(guān)鍵字,class的后面是要聲明的類(lèi)名。 類(lèi)和對(duì)象1.類(lèi)的定義如同C語(yǔ)言的“結(jié)構(gòu)”類(lèi)型,“類(lèi)”也是一種復(fù)合的數(shù)據(jù)類(lèi)型,只不過(guò)要更為復(fù)雜一些。MFC把Windows編程規(guī)范中的大多數(shù)內(nèi)容封裝成為各種類(lèi),使程序員從繁雜的編程中解脫出來(lái),提高了編程和代碼效率。顯然,隨著應(yīng)用程序的復(fù)雜性增加,C/C++應(yīng)用程序代碼也必然變得復(fù)雜。例如,LOBYTE和HIBYTE分別用來(lái)獲取16位數(shù)值中的低位和高位字節(jié),LOWORD和HIWORD分別用來(lái)獲取32位數(shù)值中的低位字和高位字,MAKEWORD是將兩個(gè)16位無(wú)符號(hào)值結(jié)合成一個(gè)32位無(wú)符號(hào)值。l 若數(shù)據(jù)類(lèi)型的前綴是P或LP,則表示該類(lèi)型是一個(gè)指針或長(zhǎng)指針數(shù)據(jù)類(lèi)型;若數(shù)據(jù)類(lèi)型的前綴是U,則表示是無(wú)符號(hào)數(shù)據(jù)類(lèi)型。;,它們的類(lèi)型均為void *,即一個(gè)32位指針。同時(shí),指定uFormat格式為DT_SINGLELINE(單行輸出)、DT_CENTER(水平居中)和DT_VCENTER(垂直居中)。lpRect是一個(gè)指向RECT類(lèi)型的“矩形”結(jié)構(gòu)指針,該“矩形”結(jié)構(gòu)含有l(wèi)eft、top、right和bottom 4個(gè)LONG域。DrawText函數(shù)用來(lái)在參考矩形內(nèi)使用指定的格式來(lái)繪制文本,它的函數(shù)原型如下:int DrawText( HDC hDC, // 繪制設(shè)備的句柄 LPCTSTR lpString, // 要繪制的文本 int nCount, // 文本的字符個(gè)數(shù) LPRECT lpRect, // 參考矩形 UINT uFormat // 文本繪制格式)。PAINTSTRUCT是“繪圖信息結(jié)構(gòu)”,BeginPaint和EndPaint函數(shù)都需要PAINTSTRUCT結(jié)構(gòu)變量作為自己的參數(shù)。hdc定義的是句柄HDC變量,DrawText等GDI函數(shù)都需要通過(guò)這樣的HDC句柄來(lái)繪制圖形和文本。在窗口過(guò)程函數(shù)WndProc中,WM_PAINT消息處理通??偸菑腂eginPaint函數(shù)開(kāi)始,而從EndPaint函數(shù)結(jié)束。當(dāng)窗口最小化再恢復(fù)為以前的大小時(shí),Windows將令窗口“無(wú)效”,并發(fā)出WM_PAINT消息使系統(tǒng)重畫(huà)整個(gè)窗口。所以,在創(chuàng)建窗口時(shí),會(huì)發(fā)出第一個(gè)WM_PAINT消息。當(dāng)窗口客戶區(qū)的一部分或全部變成“無(wú)效”時(shí),則必須 “刷新”重繪,此時(shí)將向程序發(fā)出此消息。在消息循環(huán)中,GetMessage函數(shù)一旦檢索到這條消息,就會(huì)返回FALSE,從而結(jié)束消息循環(huán),隨后程序也結(jié)束。  3.結(jié)束消息循環(huán) 當(dāng)用戶按Alt+F4鍵或單擊窗口右上角的“退出”按鈕,系統(tǒng)就向應(yīng)用程序發(fā)送一條WM_DESTROY的消息。為了減輕編程的負(fù)擔(dān),Windows的API提供了DefWindowProc函數(shù)來(lái)處理這些最常用的消息,調(diào)用這個(gè)函數(shù)后,這些消息將按照系統(tǒng)默認(rèn)的方式得到處理。,WinProc函數(shù)明確處理了3個(gè)消息,分別是WM_CREATE(創(chuàng)建窗口消息)、WM_PAINT(窗口重畫(huà)消息)、WM_DESTROY(銷(xiāo)毀窗口消息)。2.消息處理用于消息處理的函數(shù)又叫窗口過(guò)程,在這個(gè)函數(shù)中,不同的消息將用switch語(yǔ)句分配到不同的處理程序中去。TranslateMessage函數(shù)的作用是把虛擬鍵消息轉(zhuǎn)換到字符消息,以滿足鍵盤(pán)輸入的需要。如果這兩個(gè)參數(shù)為0,則表示接收所有消息。如果該參數(shù)為NULL,則GetMessage從該應(yīng)用程序線程的所有窗口的消息隊(duì)列中獲取消息。上述結(jié)構(gòu)中的主消息表明了消息的類(lèi)型,例如,是鍵盤(pán)消息還是鼠標(biāo)消息等,附消息的含義則依賴于主消息值,例如,如果主消息是鍵盤(pán)消息,那么附消息中則存儲(chǔ)了是鍵盤(pán)的哪個(gè)具體鍵的信息。 // 消息放入消息隊(duì)列中的時(shí)間 POINT pt。 // 附消息值,其具體含義依賴于主消息值 LPARAM lParam。 // 消息發(fā)向的窗口的句柄 UINT message。如果隊(duì)列中已有消息,它將取出一個(gè)后返回。GetMessage函數(shù)用來(lái)將獲取的消息復(fù)制到一個(gè)MSG結(jié)構(gòu)中。GetMessage函數(shù)就是用來(lái)從應(yīng)用程序的消息隊(duì)列中按照先進(jìn)先出的原則將這些消息一個(gè)個(gè)地取出來(lái),放進(jìn)一個(gè)MSG結(jié)構(gòu)中去。 // 將消息發(fā)送給窗口過(guò)程,這里是Wnd
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1