- 相關(guān)推薦
C++程序的基本框架
學(xué)習(xí)C++,既要會(huì)利用C++進(jìn)行面向過(guò)程的結(jié)構(gòu)化程序設(shè)計(jì),也要會(huì)利用C++進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì),更要會(huì)利用模板進(jìn)行泛型編程。下面是小編整理的關(guān)于C++程序的基本框架,希望大家認(rèn)真閱讀!
一、引言
應(yīng)用程序也像一個(gè)建筑物,有它的架構(gòu), 建筑物是有層次,模塊, 和基本元素, 如磚塊,或模版組成的。程序也非常相似,類(lèi)就是C++程序架構(gòu)的基本元素。
程序是運(yùn)行在計(jì)算機(jī)上的, 而計(jì)算機(jī)必須有一個(gè)操作系統(tǒng),我們把操作系統(tǒng)看作是一個(gè)平臺(tái),程序就是運(yùn)行在這個(gè)平臺(tái)上, 就像建筑物總是起在一定的基礎(chǔ)上一樣。
操作系統(tǒng)提供了許多程序編程接口,API 。 應(yīng)用程序通過(guò)API 調(diào)用操作系統(tǒng)許多內(nèi)置的功能。
二、C++程序架構(gòu)的基本元素 - 類(lèi)
C++程序是由一個(gè)一個(gè)類(lèi)組成的,每一個(gè)類(lèi)它可能是基類(lèi)或者派生類(lèi),每一個(gè)類(lèi)都封裝了程序接口或者應(yīng)用程序的概念等等,都有相應(yīng)的功能和作用。通過(guò)類(lèi)的繼承,可以使用基類(lèi)的特性,或者派生出其他的特性。使用虛擬函數(shù)和消息機(jī)制提供豐富的編程接口和控制。一個(gè)程序的入口點(diǎn)是其主函數(shù),主函數(shù)的主要任務(wù)是完成一些初始化的工作和維護(hù)一個(gè)消息循環(huán)。通過(guò)主函數(shù)進(jìn)入程序入口(如果編寫(xiě)的是基于Windows系統(tǒng)的程序,程序中將WinMain()函數(shù)作為應(yīng)用程序的入口),根據(jù)主函數(shù)要求初始化窗口,發(fā)送消息調(diào)用其他的類(lèi),而類(lèi)里封裝著小程序或者低級(jí)的系統(tǒng)應(yīng)用程序,然后完成類(lèi)里的程序運(yùn)行,這個(gè)過(guò)程也是對(duì)消息循環(huán)的維護(hù)。當(dāng)按照發(fā)送消息的要求完成每一個(gè)類(lèi)的調(diào)用,也就完成了一個(gè)程序。
C++程序啟動(dòng)和初始化過(guò)程是創(chuàng)建對(duì)象、建立各種對(duì)象之間的關(guān)系、把窗口顯示在屏幕上的過(guò)程。而退出程序是關(guān)閉窗體銷(xiāo)毀對(duì)象的過(guò)程。如果程序是MFC的Windows應(yīng)用程序,程序使用WinMain()函數(shù)作為入口,這個(gè)函數(shù)已經(jīng)通過(guò)封裝隱藏與應(yīng)用程序框架中。除WinMain()外,類(lèi)似于CWinApp類(lèi)成員函數(shù)Run()也是隱含執(zhí)行的,Run()函數(shù)負(fù)責(zé)把消息放進(jìn)應(yīng)用程序窗口消息循環(huán)中,由WinMain()函數(shù)完成對(duì)Run的調(diào)用。當(dāng)WinMain()函數(shù)尋找到應(yīng)用程序?qū)ο蠛罅⒓凑{(diào)用CWinApp類(lèi)的虛函數(shù)InitInstance()進(jìn)行重載,以知道究竟需要何種窗體框架。然后調(diào)用注冊(cè)窗口類(lèi),進(jìn)而調(diào)用LoadFrame()函數(shù)載入框架,使用派生類(lèi)::Create()創(chuàng)建應(yīng)用程序框架,接著創(chuàng)建程序窗口。使用顯示更新函數(shù)顯示更新程序窗口。
C++的類(lèi)的調(diào)用過(guò)程也就是它的工作流程,也可以理解為類(lèi)的消息循環(huán),也就構(gòu)成程序的框架。而這種消息的傳送也就符合Windows應(yīng)用程序的特點(diǎn),消息驅(qū)動(dòng)。如果我們要與程序交互的話(huà),需要做的僅僅是選擇適當(dāng)?shù)臅r(shí)機(jī)上系統(tǒng)產(chǎn)生消息了。
C++ 的模塊和元素的運(yùn)行法則 事件驅(qū)動(dòng)。
C++的模塊和元素之間的通訊 消息機(jī)制。 Windows消息機(jī)制
三、C++程序開(kāi)發(fā)過(guò)程
根據(jù)問(wèn)題建立模型,編寫(xiě).h頭文件、項(xiàng)目配置文件、.cpp源文件,然后預(yù)編譯、編譯,鏈接庫(kù)文件,最后生成可執(zhí)行程序。鏈接過(guò)程是將.obj目標(biāo)代碼和.lib函數(shù)庫(kù)、類(lèi)庫(kù)合理有機(jī)組成.exe執(zhí)行文件。
【C++程序的基本框架】相關(guān)文章:
C++語(yǔ)言的基本符號(hào)08-01
俄語(yǔ)語(yǔ)法基本框架09-27
面試有哪些基本程序-面試的基本程序06-20
化妝的基本程序08-16
公文制發(fā)的基本程序06-18
企業(yè)管理咨詢(xún)基本程序09-06
sun認(rèn)證java程序員須知Java日志框架09-11
Java程序員集合框架面試題及答案10-25