C++程序的基本框架
學習C++,既要會利用C++進行面向過程的結構化程序設計,也要會利用C++進行面向對象的程序設計,更要會利用模板進行泛型編程。下面是小編整理的關於C++程序的基本框架,希望大家認真閲讀!
一、引言
應用程序也像一個建築物,有它的架構, 建築物是有層次,模塊, 和基本元素, 如磚塊,或模版組成的。程序也非常相似,類就是C++程序架構的基本元素。
程序是運行在計算機上的, 而計算機必須有一個操作系統,我們把操作系統看作是一個平台,程序就是運行在這個平台上, 就像建築物總是起在一定的基礎上一樣。
操作系統提供了許多程序編程接口,API 。 應用程序通過API 調用操作系統許多內置的功能。
二、C++程序架構的基本元素 - 類
C++程序是由一個一個類組成的,每一個類它可能是基類或者派生類,每一個類都封裝了程序接口或者應用程序的概念等等,都有相應的功能和作用。通過類的繼承,可以使用基類的特性,或者派生出其他的特性。使用虛擬函數和消息機制提供豐富的編程接口和控制。一個程序的入口點是其主函數,主函數的主要任務是完成一些初始化的工作和維護一個消息循環。通過主函數進入程序入口(如果編寫的是基於Windows系統的程序,程序中將WinMain()函數作為應用程序的入口),根據主函數要求初始化窗口,發送消息調用其他的.類,而類裏封裝着小程序或者低級的系統應用程序,然後完成類裏的程序運行,這個過程也是對消息循環的維護。當按照發送消息的要求完成每一個類的調用,也就完成了一個程序。
C++程序啟動和初始化過程是創建對象、建立各種對象之間的關係、把窗口顯示在屏幕上的過程。而退出程序是關閉窗體銷燬對象的過程。如果程序是MFC的Windows應用程序,程序使用WinMain()函數作為入口,這個函數已經通過封裝隱藏與應用程序框架中。除WinMain()外,類似於CWinApp類成員函數Run()也是隱含執行的,Run()函數負責把消息放進應用程序窗口消息循環中,由WinMain()函數完成對Run的調用。當WinMain()函數尋找到應用程序對象後立即調用CWinApp類的虛函數InitInstance()進行重載,以知道究竟需要何種窗體框架。然後調用註冊窗口類,進而調用LoadFrame()函數載入框架,使用派生類::Create()創建應用程序框架,接着創建程序窗口。使用顯示更新函數顯示更新程序窗口。
C++的類的調用過程也就是它的工作流程,也可以理解為類的消息循環,也就構成程序的框架。而這種消息的傳送也就符合Windows應用程序的特點,消息驅動。如果我們要與程序交互的話,需要做的僅僅是選擇適當的時機上系統產生消息了。
C++ 的模塊和元素的運行法則 事件驅動。
C++的模塊和元素之間的通訊 消息機制。 Windows消息機制
三、C++程序開發過程
根據問題建立模型,編寫.h頭文件、項目配置文件、源文件,然後預編譯、編譯,鏈接庫文件,最後生成可執行程序。鏈接過程是將目標代碼和函數庫、類庫合理有機組成執行文件。
-
數據庫技術知識數據結構的算法
對於將要參加計算機等級考試的考生來説,計算機等級考試的知識點輔導是非常重要的複習資料。以下是小編收集的數據庫技術知識數據結構的算法,希望大家認真閲讀!1、數據:數據的基本單位是數據元素。數據元素可由一個或多個數據項組成。數據項是數據的不可分割的最小...
-
2017年9月計算機二級C++考試模擬試題及答案
計算機科學與技術的各門學科相結合,改進了研究工具和研究方法,促進了各門學科的發展。下面是yjbys小編收集的關於計算機二級C++考試模擬試題及答案,希望大家認真閲讀!1).下面關於C++流的敍述中,正確的是()。是一個輸入流對象B.可以用ifstream定義一個輸出流對象C....
-
職稱計算機考試Windowsxp衝刺輔導
隨着計算機和網絡應用領域的不斷擴大,人事部將會不斷開發、增加新的考試科目,並根據信息技術的不斷髮展,更新、升級舊的考試科目。下面是小編收集的職稱計算機考試Windowsxp衝刺輔導,希望大家認真閲讀!(1)DOS系統中文件的屬性DOS系統規定文件的屬性有四種:只讀(Rea...
-
2017年計算機二級mos office考試試題及答案「精選」
計算機應用是計算機學科與其他學科相結合的邊緣學科,是計算機學科的組成部分。下面是小編整理的關於計算機二級mosoffice考試試題及答案,希望大家認真閲讀!1[單選題]下列敍述中正確的是().A.結點中具有兩個指針域的鏈表一定是二叉鏈表B.結點中具有兩個指針域的鏈...