《Visual_C++NET程序設(shè)計教程與上機(jī)指導(dǎo)》課件
《《Visual_C++NET程序設(shè)計教程與上機(jī)指導(dǎo)》課件》由會員分享,可在線閱讀,更多相關(guān)《《Visual_C++NET程序設(shè)計教程與上機(jī)指導(dǎo)》課件(341頁珍藏版)》請在裝配圖網(wǎng)上搜索。
《 課件 第 1章 概 述 教學(xué)提示:微軟推出 中 ++ ++系列軟件的升級版本,用它來開發(fā)本機(jī)應(yīng)用程序或 章主要介紹 ++ 教學(xué)目標(biāo):初步介紹 ++ 初學(xué)者對++ 書用的軟件版本為003中文版,如果機(jī)器上裝的不是這個版本,可能界面上有些差異,但是這些差異非常小,只要稍微注意一下,基本上不會妨礙學(xué)習(xí)。如果還是不太放心的話,請按第 1章的步驟安裝此版本軟件,這樣就可以省去一些麻煩。 ++ 微軟于 2000年 6月 22日向全球發(fā)布了 起全球的轟動, 過先進(jìn)的軟件技術(shù),利用網(wǎng)絡(luò)協(xié)議和格式協(xié)調(diào)眾多的智能設(shè)備與網(wǎng)站,從而提供更簡單、更為個性化且更有效的 微軟為了配合其 布了 # ++ 安裝 ++ ++ 表 安裝003 為例,列出了安裝系統(tǒng)需求。 滿足上述要求的計算機(jī)可以進(jìn)行安裝了 。 . 003共有 6張安裝光盤,包括 2張 1張系統(tǒng)必備盤, 3張 出現(xiàn) 如圖 然后,讀者可以按照安裝程序的步驟,首先安裝系統(tǒng)必備,系統(tǒng)必備包括一些開發(fā) 用程序框架。安裝完系統(tǒng)必備后,按照提示一步步安裝 于過程比較簡單,在此就不贅述了 。前兩步安裝完成后 ,最好安裝 為 且可以很方便地查詢。 表 安裝 003的系統(tǒng)要求 處理器 450 兆赫 (I 處理器,推薦 600理器 操作系統(tǒng) 000 內(nèi)存 64議 128盤 至少 900選的 驅(qū)動器 光盤安裝需要光驅(qū) 顯示器 建議 17寸顯示器 (1024色設(shè)置至少為 256色 ) 返回 圖 返回 ++ 單擊 開始 】 |【 程序 】 | 003命令, 003 即可以啟動 。其啟動的初始界面如圖 圖 下面來新建一個 ++ 便于更詳細(xì)地了解 ++ 照以下步驟,一步步進(jìn)行: 首先單擊如圖 項目 】 ,再單擊 【 新建項目 】 按鈕,出現(xiàn)【 新建項目 】 對話框,選擇左邊 【 項目類型 】 |【 ++項目 】 | 右邊的 【 模板 】 框中單擊 【 ,再在 【 名稱 】 文本框中輸入項目名稱 圖 圖 新建項目 】 對話框 返回 單擊 【 確定 】 按鈕,即可進(jìn)入如圖 對話框。在這里共有 7個步驟供選擇,由于后面會詳細(xì)講解向?qū)У膭?chuàng)建步驟,所以現(xiàn)在都用默認(rèn)值,直接單擊 【 完成 】 按鈕即可創(chuàng)建一個多文檔應(yīng)用程序項目。 圖 對話框 返回 可以在 【 解決方案資源管理器 】 視圖中點開所生成的項目,即可看到本項目所包含的文件 (如果找不到,可以單擊菜單 【 視圖 】 |【 解決方案資源管理器 】 即可出現(xiàn) )??梢噪p擊文件 中央的編輯器界面中進(jìn)行代碼的編寫。其界面如圖 圖 ++ 返回 ++ 集成界面包括菜單欄、工具欄、解決方案資源管理器、類視圖、資源視圖、動態(tài)幫助、屬性窗口、輸出窗口,下面將進(jìn)行詳細(xì)介紹。 菜單欄 工具欄 解決方案資源管理器 類視圖 資源視圖 動態(tài)幫助 屬性窗口 任務(wù)列表及輸出等窗口 菜單欄 ++ 個菜單項,這些菜單項可以完成幾乎所有的任務(wù),因此了解并掌握這些菜單命令是必要的。請注意, ++ 以本節(jié)只講常見的菜單項命令。 返回 工具欄 由于工具欄上面的按鈕命令都可以在相應(yīng)的菜單中找到 ,所以不詳細(xì)講解了。可以看看圖標(biāo)就知道它是干什么的,還可以把鼠標(biāo)移動到按鈕上面停一下,就有相應(yīng)的提示對話框解釋按鈕的功能,使用很方便。而且還可以自己打開或定制工具欄。在工具欄上面右擊,在出現(xiàn)的彈出式菜單中單擊相應(yīng)的命令即可以顯示或隱藏相應(yīng)的工具欄 。 圖 。從左到右的命令依次為:新建項目、添加項目、打開文件、保存、全部保存、剪切、復(fù)制、粘貼、撤消、重復(fù)、向后定位、向前定位、啟動、解決方案配置、在文件中查找、查找、解決方案資源管理器、屬性窗口、對象瀏覽器、工具箱以及類視圖。 返回 圖 標(biāo)準(zhǔn)工具欄 返回 解決方案資源管理器 如 圖 【 解決方案資源管理器 】 窗口以圖形方式顯示了組成項目的所有文件, ++ 前版本 (如 ++ 中同一應(yīng)用程序中的所有項目組成的一個整體叫作工程,它們的意思差不多,只是換了一個名字。 【 解決方案資源管理器 】 窗口中顯示了每個解決方案中文件的樹狀查看列表,包括各個項目的引用、源文件、頭文件、資源文件、配置文件和幫助文件。雙擊相應(yīng)的選項, ++ 以進(jìn)行任意的修改。如果要給解決方案添加一些項目,可在解決方案上面右擊,選擇彈出式菜單中相應(yīng)的選項可以添加所要的項目。如果該窗口已經(jīng)被關(guān)閉,則可以菜單命令 【 視圖 】 |【 解決方案資源管理器 】 來打開。 返回 圖 解決方案資源管理器 】 窗口 返回 類視圖 ++ 圖 類視圖 】 窗口,解決方案 宏和常數(shù) 】 、 【 全局函數(shù)和變量 】 、 框架窗口類 )、用程序類 )、 檔類 )、圖類 )、 架窗口類 )等組成 (如果你看不懂,不要緊,這里只是稍微提一下,以后有詳細(xì)的說明 )。 返回 圖 類視圖 】 窗口 返回 資源視圖 【 資源視圖 】 窗口是程序員在 ++ 以樹形視圖的結(jié)構(gòu)把解決方案中的所有資源都一項一項地列出來了,給人以非常直觀和清晰的感覺。 返回 動態(tài)幫助 圖 動態(tài)幫助 】 窗口,它提供了非常強(qiáng)大的智能幫助功能來幫助開發(fā)應(yīng)用程序,如果在編輯框中選中不清楚的類或者類的屬性或方法時,幫助視圖中就提供選擇項的幫助提示功能,可以單擊相應(yīng)的提示項來詳細(xì)地了解該項的說明,使用非常貼心,是程序員編程的好幫手。還可以單擊示例和開始項下面的相應(yīng)項來學(xué)習(xí)有關(guān)知識。如果在 ++ 一個想到的幫助者就是 ++ 可以打開003來提供幫助。 返回 圖 動態(tài)幫助 】 窗口 返回 屬性窗口 可以這么說,一個人開發(fā) ++ 他對 【 屬性 】 窗口的熟練使用程度是息息相關(guān)的。讀者可能用過++以前的版本,如 ++ 類的管理是非常方便的 (包括資源控件和類成員的對應(yīng)連接,數(shù)據(jù)傳遞路徑,消息處理等 ),可能對 ++ 是這只是個習(xí)慣問題,如果對【 屬性 】 窗口熟悉以后,一定會為它提供的功能折服。眾所周知,++ 過使用 【 屬性 】窗口可以非常方便地修改屬性。 返回 任務(wù)列表及輸出等窗口 圖 中任務(wù)列表窗口可以瀏覽用戶任務(wù)、生成錯誤??梢栽诖舜翱谥袉螕?【 單擊此處添加新任務(wù) 】來添加新任務(wù),也可以在項目代碼中以特定的格式添加注釋。如果此窗口不可見,可單擊菜單 【 視圖 】 |【 其他窗口 】 |【 任務(wù)列表 】 來顯示。 圖 任務(wù)列表及輸出等窗口 返回 利用 ++ ++ 戶可以不編寫一行代碼就能生成一個典型的 面重點講解利用向?qū)蓱?yīng)用程序的具體過程,并生成一個可以編輯文字的 選擇新建項目類型 利用向?qū)Ы?yīng)用程序 生成應(yīng)用程序 選擇新建項目類型 在起始頁上單擊 【 新建項目 】 按鈕,或者在菜單欄上選擇 【 文件 】|【 新建 】 |【 項目 】 ,就會彈出如圖 新建項目 】 對話框,用戶可以對所要的項目類型進(jìn)行選擇??梢钥吹?, ++ 定義類庫、控件庫、 務(wù)、控制臺應(yīng)用程序、項目以及空 書重點講解 返回 1. 應(yīng)用程序類型 在 【 對話框中,選擇左邊的 【 應(yīng)用程序類型 】 ,在右邊的 【 應(yīng)用程序類型 】 選項組中選擇 【 多文檔 】 單選按鈕,其他選項用默認(rèn)值,如 圖 以看到,利用 文檔應(yīng)用程序、多文檔應(yīng)用程序和多頂級文檔應(yīng)用程序。 圖 選擇應(yīng)用程序類型 返回 2. 復(fù)合文檔支持 【 復(fù)合文檔支持 】 是一個程序中能夠嵌入另一個應(yīng)用程序的功能,容器就是只能維護(hù)嵌入的對象;袖珍服務(wù)器指應(yīng)用程序不能獨立運行,而是被調(diào)用使之為其他程序服務(wù);完全服務(wù)器指能夠獨立運行,并能為其他應(yīng)用程序提供服務(wù);容器 /完全服務(wù)器指應(yīng)用程序既可以作容器,也可以作完全服務(wù)器對象。保持默認(rèn)值不變,即不選擇任何復(fù)合文檔支持具體見 圖 圖 設(shè)置復(fù)合文檔支持 返回 3. 文檔模板字符串 選左邊的 【 文檔模板字符串 】 ,右邊的選項都用默認(rèn)值。文件 擴(kuò)展名指文件的后綴名,具體見 圖 圖 設(shè)置文檔模板字符串 返回 4. 數(shù)據(jù)庫支持 在左邊選擇 【 數(shù)據(jù)庫支持 】 ,將出現(xiàn)如 圖 果不編寫數(shù)據(jù)庫應(yīng)用程序,選擇 【 無 】 ;如果想要訪問數(shù)據(jù)庫 ,但不想應(yīng)用程序從類 ,或者其界面不含有記錄菜單,則選擇 【 僅支持頭文件 】 ;如果想要應(yīng)用程序從類 且其界面含有記錄菜單,但不需要保存文檔,則選擇 【 不支持文件的數(shù)據(jù)庫視圖 】 ;如果還需要文檔保存功能,則選擇 【 支持文件的數(shù)據(jù)庫視圖 】 。當(dāng)選擇第 3、 4項時,你還要選擇客戶端的數(shù)據(jù)庫類型: 可以指定數(shù)據(jù)源及其他操作。 圖 設(shè)置數(shù)據(jù)庫支持 返回 5. 用戶界面功能 選擇左邊的 【 用戶界面功能 】 ,右邊的 【 主框架樣式 】 和 【 工具欄 】 都用默認(rèn)值,具體見 圖 圖 設(shè)置用戶界面功能 返回 6. 高級功能 選擇左邊的 【 高級功能 】 ,將出現(xiàn)如圖 持默認(rèn)設(shè)置。 【 區(qū)分上下文的幫助 】 可以選擇 助源文件為 助源文件為 【 最近文件列表上的文件數(shù) 】 為 4。如 圖 圖 設(shè)定高級功能 返回 7. 生成的類 選擇左邊 【 生成的類 】 ,將出現(xiàn)如 圖 中 【 基類 】 下拉列表框中有許多基類可供選擇,注意在 【 基類 】 中選擇 單擊 【 完成 】 按鈕, ++ 圖 選擇生成的類 返回 生成應(yīng)用程序 選擇菜單欄上的 【 生成 】 |【 生成解決方案 】 ,然后選擇 【 調(diào)試 】 |【 開始執(zhí)行 (不調(diào)試 )】 ,或者直接按 行界面如 圖 序中可以對文字進(jìn)行簡單的編輯。如果文檔有了更改,系統(tǒng)還會提示用戶是否保存文檔??矗粋€簡單的文檔編輯器誕生了,不需要用戶寫一行代碼。 返回 圖 返回 理解 ++ ++ 時也是一個集成開發(fā)工具,提供了軟件代碼自動生成和可視化的資源編輯功能。在使用 ++ 統(tǒng)生成了大量的各種類型的文件,在本節(jié)中將要詳細(xì)介紹 ++ , 在此基礎(chǔ)上對 ++ 上 機(jī) 指 導(dǎo) 程序員最重要的是動手能力,如果只會構(gòu)思,但是不能把思想變成一個實實在在的程序,那么也是很遺憾的。勤于練習(xí)才能真正掌握編程的方法。在 用程序向?qū)? 用程序 。下面來練習(xí)一下利用向?qū)煽刂婆_程序的方法。 ++ 接生成本機(jī)機(jī)器碼。 第 2章 ++ 教學(xué)提示:在本章,主要是對 ++ 基本語法要素進(jìn)行介紹,包括標(biāo)識符和關(guān)鍵字、基本數(shù)據(jù)類型、變量和常量、命名空間、預(yù)編譯指令、運算符和表達(dá)式。但僅僅掌握這些還是不夠的。本章還進(jìn)一步介紹了控制語句、結(jié)構(gòu)體、聯(lián)合體、枚舉、指針和數(shù)組的詳細(xì)使用方法。學(xué)習(xí)完這些內(nèi)容后,讀者對其語言將會有一個比較全面的了解。 教學(xué)目標(biāo):掌握 ++ 悉常用的標(biāo)識符、運算符、關(guān)鍵字;掌握常量和變量的定義方法;掌握數(shù)據(jù)類型的轉(zhuǎn)換方法;理解預(yù)編譯指令、命名空間;掌握各種控制語句的使用方法;掌握結(jié)構(gòu)體、聯(lián)合體和枚舉的定義及其使用方法;掌握指針和數(shù)組的使用方法,熟練掌握函數(shù)的使用方法。通過上機(jī)實踐,初步掌握上述內(nèi)容的靈活運用。 標(biāo)識符和關(guān)鍵字 任何一門語言都有它自己的標(biāo)識符和關(guān)鍵字, C++也不例外。標(biāo)識符 (指常量、變量、語句標(biāo)號、自定義函數(shù)、對象等能被編譯器識別而提供的惟一名稱,所有標(biāo)識符的首字符必須以字母 (a~z,A~Z)或下劃線 (_)開始,后面的字符可以是字母、下劃線或數(shù)字 (0~9)。 C++語言區(qū)分大小寫,因此,大寫的英文字母與其對應(yīng)的小寫英文字母是表示不同的標(biāo)識符的,如 關(guān)鍵字是 C++語言保留的標(biāo)識符,每個關(guān)鍵字都有特殊的意義,不能當(dāng)作其他用途使用。 基本數(shù)據(jù)類型 C++語言使用確定的數(shù)據(jù)類型來組織各種數(shù)據(jù),并根據(jù)各種數(shù)據(jù)類型來存儲和操作這些數(shù)據(jù)?;镜臄?shù)據(jù)類型是 C++預(yù)定義的類型,編程人員可以直接利用這些類型來定義數(shù)據(jù)。下面來看看 C++中的基本數(shù)據(jù)類型: 輯型 )、 符型 )、 整型 )、 型 )、 整型 )、 型 )、 精度型 )、 雙精度型 )。 占用空間是 8位。 在計算機(jī)里面是以 8位。 是數(shù)據(jù)的位數(shù)不一樣: 位; 6位,在 2位; 2位。還可以在這三個類型前面加 示無符號整數(shù) (即只表示正數(shù) )。 是位數(shù)不一樣, 4位, 0位。 常量和變量 常量是指 C++語言中表示固定數(shù)值或字符值的標(biāo)識符,并且在程序的執(zhí)行過程中不允許修改。通過使用關(guān)鍵字 以將一個變量 (下面會講變量 )定義為一個常量,并且 定義的一般格式為: 量名=值 或者 量名=值 在定義變量時,應(yīng)給出該變量的數(shù)據(jù)類型和名字,還可以給這個變量賦一個初始值,也可以在以后再賦值,系統(tǒng)在編譯時就會分配給該變量一個合適的內(nèi)存空間。 變量的一般定義為: 數(shù)據(jù)類型 變量名=值 (可選 ) 命 名 空 間 命名空間是為了處理不同公司或個人使用相同的標(biāo)識符這種情況而使用的一個概念。假設(shè) 在如果要使用這兩家公司的某些標(biāo)識符,且兩個公司都提供了變量標(biāo)識符 么在程序中使用是 是個棘手的問題, ++ 運算符、表達(dá)式和語句 在 C++語言中,運算符是指對操作數(shù)進(jìn)行操作的符號,按照運算功能,C++運算符可分為算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符和賦值運算符等,按優(yōu)先級順序, C++運算符如表 預(yù)編譯指令 預(yù)編譯指令指在程序正式編譯前就由編譯器進(jìn)行編譯的操作,可以放在程序中的任何位置。常見的預(yù)編譯指令有: #頭文件 "或 # 該指令指示編譯器將頭文件的全部內(nèi)容插入此處。若用 b) c=a+b; 返回 2. if…句 它的一般格式是: 達(dá)式 ) 執(zhí)行語句 1;//如果表達(dá)式為真,則執(zhí)行語句 1 行語句 2;//如果表達(dá)式為假,則執(zhí)行語句 2 if…句的變體結(jié)構(gòu) (可以判斷兩種以上的情況 ): 達(dá)式 1) 執(zhí)行語句 1;//如果表達(dá)式 1為真,則執(zhí)行語句 1 達(dá)式 2) 執(zhí)行語句 2;//如果表達(dá)式 2為真,則執(zhí)行語句 2 ….. …..// 如果表達(dá)式 執(zhí)行語句 i …... 行語句 n;//其他情況,則執(zhí)行語句 n 返回 3. ?:條件語句 ?:條件語句是 if…件語句的簡化形式,其格式如下: (a>b)?c:d; //如果表達(dá)式 a>其結(jié)果為 c,否則為 d 返回 4. if…變體結(jié)構(gòu)類似,都是從多種供選擇的情況中選擇一種執(zhí)行,其語法形式為: 達(dá)式 ) { 1: 語句段 1;//如果表達(dá)式與值 1相等,則執(zhí)行語句段 1 2: 語句段 2;//如果表達(dá)式與值 2相等,則執(zhí)行語句段 2 ……;// 如果表達(dá)式與值 執(zhí)行語句段 i : //如果表達(dá)式與值 執(zhí)行語句段 n } 返回 循環(huán)語句 程序結(jié)構(gòu)中的重復(fù)性操作的語句可以用循環(huán)語句來完成,循環(huán)語句可以根據(jù)循環(huán)變量來執(zhí)行指定的次數(shù)。 C++語言提供 do…種循環(huán)語句,它們之間的不同之處在于 執(zhí)行語句;而 do…先執(zhí)行語句,再判斷條件。這樣可以看出 do…少執(zhí)行一次。它們的共同點是當(dāng)條件語句為非零時為真,而為零時則為假。這三種循環(huán)語句可以相互轉(zhuǎn)換。 1. 2. 3. do…環(huán)語句 返回 1. 當(dāng)循環(huán)次數(shù)無法計算或者很難確定時,可以考慮用 的語法結(jié)構(gòu)為: 達(dá)式 ) {循環(huán)體語句 ;} 返回 2. 表達(dá)式 1)初始化部分 ;(表達(dá)式 2)循環(huán)條件部分 ;(表達(dá)式 3)增量部分 ) { 循環(huán)體語句 ; // 如果是單條語句,可以省略外面的大括弧 } 返回 3. do…環(huán)語句 do…叫“直到型”循環(huán)結(jié)構(gòu),即一直執(zhí)行到條件為假時退出循環(huán)。其格式為: 循環(huán)語句 } 環(huán)條件表達(dá)式 ); 返回 判斷和跳轉(zhuǎn)語句 (轉(zhuǎn)移語句 ) 當(dāng)執(zhí)行該類語句時,它要改變程序的執(zhí)行順序,即不依次執(zhí)行緊跟其后的語句,而跳到另一個語句處接著執(zhí)行。從表面上看循環(huán)語句或條件語句也改變了程序的執(zhí)行順序,但由于整個循環(huán)可以看作一個語句 (條件語句也一樣 ),因此它們也仍然是順序執(zhí)行的。 C++中的轉(zhuǎn)移語句有 1. 2. 3. 返回 1. 在do… 它們終止執(zhí)行,即用于從循環(huán)體內(nèi)跳出,提前結(jié)束循環(huán)。用于 則是執(zhí)行對應(yīng)的 返回 2. do… 執(zhí)行到止后面的循環(huán)執(zhí)行語句,直接進(jìn)行循環(huán)條件語句的判斷,如果為真則開始下一輪循環(huán),如果為假則終止循環(huán)。 并不終止整個循環(huán)語句,而僅僅終止當(dāng)前這一次循環(huán)的執(zhí)行。 返回 3. 般有人認(rèn)為大量使用 是對的,但是在程序中適當(dāng)?shù)厥褂?果有一個多重嵌套循環(huán),須從最里層跳到最外層,若用 每一層循環(huán)中都要調(diào)用 麻煩。但是如果在最里層用 可以一下子跳到外面的一個標(biāo)號處,并把流程跳轉(zhuǎn)到該處,很方便。它的格式為: 句標(biāo)號 返回 指針、數(shù)組與字符串 指針 數(shù)組 字符串 指針 在計算機(jī)中,內(nèi)存儲器是由若干存儲單元組成的,每個存儲單元均有一個惟一的編號用于標(biāo)識該存儲單元,該編號稱為存儲單元的地址。在 C++中,數(shù)據(jù)是用變量存放在存儲單元中的,而指針就是一個保存著某變量在內(nèi)存中的存儲單元中的位置變量,即指針是指向變量在內(nèi)存中的地址,可以通過指針來指向變量在內(nèi)存中的地址來訪問和控制變量。 指針的定義形式為: 數(shù)據(jù)類型 *指針名 ; 返回 數(shù)組 數(shù)組就是把一系列有序的相同類型的數(shù)據(jù)組合起來的數(shù)據(jù)集合。數(shù)組都有一個名字即數(shù)組名。數(shù)組中的每一個數(shù)據(jù)稱為數(shù)組元素,數(shù)組元素在數(shù)組中的位置由下標(biāo)確定。根據(jù)數(shù)組元素下標(biāo)的個數(shù),數(shù)組分為一維數(shù)組、二維數(shù)組和多維數(shù)組。當(dāng)數(shù)組元素的數(shù)據(jù)類型為字符型時,該數(shù)組稱為字符數(shù)組。當(dāng)數(shù)組元素的數(shù)據(jù)類型為整型時,該數(shù)組稱為整型數(shù)組。 返回 字符串 字符串就是用一對雙引號括起來的字符序列。例如“ I am a 是一個字符串。字符串中的字符可以是能顯示的字符,也可以是轉(zhuǎn)義字符,如‘ \t’表示跳格。在 C++中,為了判斷字符串是否結(jié)束,系統(tǒng)自動在字符串的末尾加上一個字符‘ \0’,作為字符串的結(jié)束標(biāo)志。如字符串“ I am a 共 15個字符,但實際上在計算機(jī)內(nèi)存里占用 16個存儲單元。最后一個存儲單元存放‘ \0’,作為字符串的結(jié)束標(biāo)志,所以字符串的存儲空間比實際的字符數(shù)要多 1。 注意字符串常量和字符常量是有區(qū)別的,字符串常量是用雙引號括起來的字符序列,而字符常量則是用單引號括起來的單個字符,它們所占的內(nèi)存空間也不同。 字符串一般存放在字符數(shù)組中,字符數(shù)組就是存放字符的數(shù)組 返回 函 數(shù) —個 C++程序可由一個或多個源程序文件組成,一個源程序文件可由一個或多個函數(shù)組成;函數(shù)是構(gòu)成 C++程序的基礎(chǔ),任意 —個 C++源程序都是由若干個函數(shù)組成的。 C++中的函數(shù)分為庫函數(shù)與自定義函數(shù)兩類,庫函數(shù)是由 C++系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù) (如求一個數(shù)的絕對值可用函數(shù):“ n );”);自定義函數(shù)是需要自己寫的函數(shù)。 C++中的函數(shù)是這樣定義的: 返回值數(shù)據(jù)類型 函數(shù)名 (參數(shù)表 ) { 語句 ; } 結(jié)構(gòu)、聯(lián)合和枚舉 結(jié)構(gòu) 聯(lián)合體 枚舉類型 結(jié)構(gòu) 有時候需要將不同類型的數(shù)據(jù)組合成有機(jī)整體 ,以方便引用這些數(shù)據(jù)。這些數(shù)據(jù)之間是相互聯(lián)系的,例如,一個人的基本信息包括姓名、性別、年齡、身高、體重等;一個學(xué)生的基本信息包括學(xué)號、姓名、年齡、某些課程成績、住址等。如果將這些數(shù)據(jù)分別存放在不同的數(shù)據(jù)變量中,就不能體現(xiàn)它們之間的內(nèi)在聯(lián)系,并且在引用這些數(shù)據(jù)時也會由于它們之間的聯(lián)系不明確而變得很復(fù)雜,容易出錯??梢酝ㄟ^使用結(jié)構(gòu)體將這些不同類型的數(shù)據(jù)定義為一個特殊的數(shù)據(jù)類型,這樣就能很方便地使用這些數(shù)據(jù)了。 結(jié)構(gòu)體是指由不同類型的一組變量組成的一個數(shù)據(jù)單位 ,在 ++語言中,使用保留字 義一個結(jié)構(gòu)體類型的形式如下: 結(jié)構(gòu)體名 {結(jié)構(gòu)體成員列表 } 返回 聯(lián)合體 聯(lián)合體是指幾個不同類型的變量共用一個內(nèi)存單元的一種數(shù)據(jù)類型,這樣的變量可以在一個運算中構(gòu)成一個整數(shù),在另外一個運算中構(gòu)成一個實數(shù)。 定義聯(lián)合體類型需要用到保留字 義的一般形式如下: 合體名 { 成員列表 }變量列表 返回 枚舉類型 在實際生活中,經(jīng)常會遇到只有有限個取值的變量,例如,每一天只可能是星期一到星期天 7種之間的一種,一個布袋里只有紅、黃、藍(lán)、綠、黑 5種顏色的玻璃球等等。 針對這樣的變量,可以定義其為枚舉類型,即變量的值可以一一列舉出來。定義枚舉類型需要用到保留字 回 上 機(jī) 指 導(dǎo) 本章講述了 ++ 本次的上機(jī)指導(dǎo)中,將針對上述內(nèi)容進(jìn)行實際上機(jī)練習(xí)。主要內(nèi)容為:基本的輸出輸入語法的使用;命名空間的引入;基本控制語句的使用;函數(shù)的使用等。 函數(shù)的使用 第 3章 類 和 對 象 教學(xué)提示:類和對象是面向?qū)ο蟪绦蛟O(shè)計的核心概念,繼承性和多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的重要特性,本章對 ++ 承和派生、多態(tài)和虛函數(shù)、模板類和模板函數(shù)進(jìn)行了詳細(xì)介紹。 教學(xué)目標(biāo):掌握類和對象的定義,熟悉 ++ 熟練地通過重載、虛函數(shù)、抽象類等手段實現(xiàn)多態(tài)性。 類 和 對 象 類和對象是面向?qū)ο蟪绦蛟O(shè)計的核心,所以理解類和對象的概念是學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計的關(guān)鍵。 類和對象的定義 對象與對象的定義 成員變量和成員函數(shù) 構(gòu)造函數(shù)和析構(gòu)函數(shù) 類和對象的定義 類是一種復(fù)雜的數(shù)據(jù)類型 ,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。類的定義格式一般分為說明部分和實現(xiàn)部分。說明部分是用來說明該類中的成員,包括數(shù)據(jù)成員的說明和成員函數(shù)的說明。其中,成員函數(shù)是用來對數(shù)據(jù)成員進(jìn)行操作的,又稱為“方法”。實現(xiàn)部分是用來對成員函數(shù)的定義。 類的一般定義格式如下: } 返回 對象與對象的定義 對象是類的實例。對象是屬于某個已知的類。因此,定義對象之前,一定要先定義好該對象的類。 對象在確定了它的類以后,其定義格式如下: 其中, 是要定義的對象所屬類的名字,即所定義的對象是該類類型的對象。 中可以有一個或多個對象,多個對象名是用逗號分隔。 返回 成員變量和成員函數(shù) 一個對象的成員就是該對象的類所定義的成員。對象成員有數(shù)據(jù)成員和成員函數(shù),其表示方法如下: . 或者 .() 返回 構(gòu)造函數(shù)和析構(gòu)函數(shù) 1. 構(gòu)造函數(shù)和析構(gòu)函數(shù) 2. 默認(rèn)構(gòu)造函數(shù)和默認(rèn)析構(gòu)函數(shù) 3. 復(fù)制初始化構(gòu)造函數(shù) 返回 1. 構(gòu)造函數(shù)和析構(gòu)函數(shù) 構(gòu)造函數(shù)和析構(gòu)函數(shù)是在類體中說明的兩種特殊成員函數(shù) 。構(gòu)造函數(shù)的功能是在創(chuàng)建對象時,使用給定的值來初始化對象。析構(gòu)函數(shù)的功能是用來釋放一個對象,在對象刪除前,用它來做一些清理工作,它與構(gòu)造函數(shù)的功能正好相反。 返回 2. 默認(rèn)構(gòu)造函數(shù)和默認(rèn)析構(gòu)函數(shù) 在類定義過程中,如果沒有定義任何構(gòu)造函數(shù),則編譯器自動生成一個不帶參數(shù)的默認(rèn)構(gòu)造函數(shù),其格式如下: ::() { … } 返回 3. 復(fù)制初始化構(gòu)造函數(shù) 復(fù)制初始化構(gòu)造函數(shù)是一種特殊的成員函數(shù),它的功能是用一個已知的對象來初始化一個被創(chuàng)建的同類對象。復(fù)制初始化構(gòu)造函數(shù)實際上也是構(gòu)造函數(shù),它是在初始化時被調(diào)用來將一個已知對象的數(shù)據(jù)成員值復(fù)制給正在創(chuàng)建的另一個同類對象。 返回 類的繼承和派生 繼承性是面向?qū)ο蟪绦蛟O(shè)計中最重要的機(jī)制。這種機(jī)制改變了過去傳統(tǒng)的非面向?qū)ο蟪绦蛟O(shè)計中那種對不再適合要求的用戶定義數(shù)據(jù)類型進(jìn)行改寫甚至重寫的方法,克服了傳統(tǒng)程序設(shè)計方法對編寫出來的程序無法重復(fù)使用而造成的資源浪費。通過 C++語言中的繼承機(jī)制,可以擴(kuò)充和完善舊的程序設(shè)計以適應(yīng)新的需求,這樣不僅可以節(jié)省程序開發(fā)時間和資源,并且為將來程序設(shè)計增添了新的資源。 基類和派生類 單一繼承 虛基類 基類和派生類 通過繼承機(jī)制,可以利用已有的數(shù)據(jù)類型來定義新的數(shù)據(jù)類型。所定義的新數(shù)據(jù)類型不僅擁有新定義的成員,而且還同時擁有舊的成員,則稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生派生出的新類稱為派生類,又稱為子類。 返回 單一繼承 在單繼承中,每個類可以有多個派生類,但是每個派生類只能有一個基類,從而形成樹型結(jié)構(gòu)。 1. 成員訪問權(quán)限的控制 2. 構(gòu)造函數(shù)和析構(gòu)函數(shù) 返回 1. 成員訪問權(quán)限的控制 在公有繼承 (,派生類的 派生類的對象僅可訪問基類中的公有成員。 在私有繼承 (,派生類的對象不可訪問基類中的任何成員。另外使用 認(rèn)的繼承方式是 就是說,當(dāng)繼承方式為私有繼承時,可以省略 在保護(hù)繼承 (,把繼承方式 返回 2. 構(gòu)造函數(shù)和析構(gòu)函數(shù) 派生類對象的數(shù)據(jù)結(jié)構(gòu)是由基類中說明的數(shù)據(jù)成員和派生類中說明的數(shù)據(jù)成員共同構(gòu)成。將派生類對象中由基類中說明的數(shù)據(jù)成員和操作構(gòu)成的封裝體稱為基類子對象,它由基類中的構(gòu)造函數(shù)進(jìn)行初始化。 構(gòu)造函數(shù)不能夠被繼承,因此,派生類的構(gòu)造函數(shù)必須通過調(diào)用基類的構(gòu)造函數(shù)來初始化基類子對象。所以,在定義派生類的構(gòu)造函數(shù)時除了對自己的數(shù)據(jù)成員進(jìn)行初始化外,還必須負(fù)責(zé)調(diào)用基類構(gòu)造函數(shù)使基類數(shù)據(jù)成員得以初始化。如果派生類中還有子對象時,還應(yīng)包含對子對象初始化的構(gòu)造函數(shù)。 派生類構(gòu)造函數(shù)的一般格式如下: ():, (子對象名 )() { }; 返回 虛基類 引進(jìn)虛基類的目的是為了解決二義性問題,其說明格式如下: 回 多態(tài)和虛函數(shù) 多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計的重要特性之一,它與前面講過的封裝性和繼承性構(gòu)成了面向?qū)ο蟪绦蛟O(shè)計的三大特性。這三大特性是相互關(guān)聯(lián)的,封裝性是基礎(chǔ),繼承性是關(guān)鍵,多態(tài)性是補(bǔ)充,而多態(tài)性又必須存在于繼承的環(huán)境之中。 所謂多態(tài)性是指發(fā)出同樣的消息被不同類型的對象接收時導(dǎo)致完全不同的行為。這里所說的消息主要是指對類的成員函數(shù)的調(diào)用,而不同的行為是指不同的實現(xiàn)。利用多態(tài)性,用戶只需要發(fā)送一般形式的消息,而將所有的實現(xiàn)留給接收消息的對象。對象根據(jù)所接收到的消息而做出相應(yīng)的動作 (即操作 )。 函數(shù)重載和運算符重載是簡單的多態(tài)性。重要的多態(tài)性是建立在虛函數(shù)的概念和方法基礎(chǔ)上的。 上 機(jī) 指 導(dǎo) 在本次上機(jī)指導(dǎo)中,針對前面幾節(jié)中的內(nèi)容進(jìn)行實際上機(jī)練習(xí)。其主要內(nèi)容包括:類和對象使用、派生類的使用、類的多態(tài)性編程以及模板類和模板函數(shù)編程等。 類和對象編程實例 派生類編程實例 類的多態(tài)編程實例 模板類和模板函數(shù)編程實例 第 4章 教學(xué)提示:本章說明了 用戶圖形界面、硬件無關(guān)特性及消息驅(qū)動機(jī)制,介紹了 ++ ++ 教學(xué)目標(biāo):熟悉 別是消息驅(qū)動機(jī)制,了解 握應(yīng)用 ++ 是它的標(biāo)準(zhǔn)用戶圖形界面 ——窗口;二是應(yīng)用程序與硬件的無關(guān)特性;三是所有的 用程序的設(shè)備無關(guān)性將在第 10章中進(jìn)行介紹,本章簡單介紹一下窗口和消息的概念。 1. . 返回 1. 括幾百個函數(shù)加上數(shù)據(jù)常量、宏、結(jié)構(gòu)以及許多其他項。大多數(shù) 5以上的操作系統(tǒng)都是 32位的,因此在目前常用的 返回 2. “窗口”是 個典型的窗口如 圖 用程序在創(chuàng)建某個類型的窗口前,必須首先注冊該“窗口類” (注冊時把窗口過程、窗口類型以及其他類型信息和要登記的窗口類關(guān)聯(lián)起來。應(yīng)用程序接著通過調(diào)用建一個窗口實際調(diào)用的函數(shù)需要下列參數(shù):屏幕位置、窗口大小以及即將創(chuàng)建的窗口風(fēng)格。 返回 圖 一個典型的窗口 返回 如 等待 (有時也稱為檢測 )可能的輸入,如鍵盤或鼠標(biāo),如果程序檢測不到鼠標(biāo),就不會對鼠標(biāo)的動作做出相應(yīng)的反應(yīng)。而在 操作系統(tǒng)中用消息來告訴應(yīng)用程序有情況發(fā)生了。例如,用戶按下了某個鍵,單擊或移動了鼠標(biāo)、打印機(jī)可用了等等。一個窗口 (每一個元素都是一個窗口 )也可以發(fā)送消息給另一個窗口,大多數(shù)窗口對消息的反應(yīng)是發(fā)送一條略微不同的消息給另外一個窗口。 返回 用 用程序,有其共同的規(guī)律:首先是編寫 寫處理消息和事件的窗口過程 創(chuàng)建窗口,然后開始應(yīng)用程序的消息循環(huán)。 返回 怎樣用 ++ 在 ++ 發(fā) 直接調(diào)用 際上該方法適用于任何 ++語言編程。 使用 接編寫 既使用 使用向?qū)?(編寫 這種情況下用 后在程序框架的基礎(chǔ)上建立應(yīng)用程序的類和消息處理代碼并定義控件的屬性、事件和方法,最后把各應(yīng)用程序所要求的功能添加到程序中。 使用 C++托管擴(kuò)展程序編寫 是基于通用語言運行時環(huán)境的 其實,不管程序使用何種開發(fā)方式編寫 終都要調(diào)用到 此,大家一起來看看在 ++ 進(jìn)一步了解 ++ 紹 如 等待 (有時也稱為檢測 )可能的輸入,如鍵盤或鼠標(biāo),如果程序檢測不到鼠標(biāo),就不會對鼠標(biāo)的動作做出相應(yīng)的反應(yīng)。而在 操作系統(tǒng)中用消息來告訴應(yīng)用程序有情況發(fā)生了。例如,用戶按下了某個鍵,單擊或移動了鼠標(biāo)、打印機(jī)可用了等等。一個窗口 (每一個元素都是一個窗口 )也可以發(fā)送消息給另一個窗口,大多數(shù)窗口對消息的反應(yīng)是發(fā)送一條略微不同的消息給另外一個窗口。 返回 用 其共同的規(guī)律:首先是編寫 寫處理消息和事件的窗口過程 創(chuàng)建窗口,然后開始應(yīng)用程序的消息循環(huán)。 返回 如 等待 (有時也稱為檢測 )可能的輸入,如鍵盤或鼠標(biāo),如果程序檢測不到鼠標(biāo),就不會對鼠標(biāo)的動作做出相應(yīng)的反應(yīng)。而在 操作系統(tǒng)中用消息來告訴應(yīng)用程序有情況發(fā)生了。例如,用戶按下了某個鍵,單擊或移動了鼠標(biāo)、打印機(jī)可用了等等。一個窗口 (每一個元素都是一個窗口 )也可以發(fā)送消息給另一個窗口,大多數(shù)窗口對消息的反應(yīng)是發(fā)送一條略微不同的消息給另外一個窗口。 返回 用 用程序 , 有其共同的規(guī)律:首先是編寫 寫處理消息和事件的窗口過程 創(chuàng)建窗口,然后開始應(yīng)用程序的消息循環(huán)。 返回 上 機(jī) 指 導(dǎo) 下面提供一個 示例定義了應(yīng)用程序類的派生類和窗體的派生類,用很少幾行代碼在屏幕上顯示一個窗口。 同任何用 。此應(yīng)用程序類提供 最小實現(xiàn),該實現(xiàn)構(gòu)造一個 (應(yīng)用程序特定的 框架窗體對象,然后調(diào)用該窗口的 第 5章 文檔 /視圖模型 教學(xué)提示:在本章中,主要講述利用 ++ 常會用到的一個非常重要的模型:文檔 /視圖模型,它對應(yīng)著 章還結(jié)合這兩個類和 ++ 習(xí)完這些內(nèi)容后,讀者將會對 ++ 視圖模型有一個比較全面的了解。 教學(xué)目標(biāo):掌握文檔視圖模型的概念;掌握 握使用向?qū)С绦騺順?gòu)造單文檔和多文檔應(yīng)用程序。通過上機(jī)實踐,初步掌握上述內(nèi)容。 文檔 /視圖模型概念 了解文檔和視圖的概念及相互作用關(guān)系是學(xué)習(xí)編寫 ++ 于 為初學(xué)者可以通過 ++ 圖框架的應(yīng)用程序。不過大多數(shù)初學(xué)者在學(xué)習(xí)時只知道使用向?qū)蓱?yīng)用程序,而沒有領(lǐng)悟框架中文檔、視圖的真正意義。接下來先介紹框架、文檔、視圖的基本概念。 在 檔、視圖結(jié)構(gòu)的概念,并且在這些概念中又引出與其相關(guān)聯(lián)的概念,如文檔模板、單文檔 (多文檔(序列化等。 文檔視圖體系的核心類 訪問當(dāng)前活動文檔和視圖 文檔視圖體系的核心類 在通過向?qū)?chuàng)建應(yīng)用程序時,向?qū)閼?yīng)用程序創(chuàng)建文檔、視圖和框架類的基本結(jié)構(gòu)。剛創(chuàng)建好的一個完整框架的應(yīng)用程序一般由- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
6 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Visual_C NET 程序設(shè)計 教程 上機(jī) 指導(dǎo) 課件
鏈接地址:http://weibangfood.com.cn/p-710.html