C++面向?qū)ο蟪绦蛟O(shè)計(jì)課件第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第1頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)課件第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第2頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)課件第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第3頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)課件第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第4頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)課件第一章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

C++面向?qū)ο蟪绦蛟O(shè)計(jì)(第二版)

第一章面向?qū)ο蟪绦蛟O(shè)計(jì)概述18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)第一章面向?qū)ο蟪绦蛟O(shè)計(jì)概述1.1面向?qū)ο蟮幕靖拍?.2C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成1.4VisualC++6.0開發(fā)環(huán)境18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.1面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟪绦蛟O(shè)計(jì)的本質(zhì)是把數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法放在一起,作為一個(gè)相互依存、不可分離的整體——對(duì)象。對(duì)同類型對(duì)象抽象出其共性,形成類。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.1面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟪绦蛟O(shè)計(jì)方法具有4個(gè)基本特征:抽象、封裝、繼承和多態(tài)性。抽象(abstract)就是忽略事物的非本質(zhì)特征,只注意那些與當(dāng)前目標(biāo)有關(guān)的本質(zhì)特征,從而找出事物的共性,把具有共同性質(zhì)的事物劃分為一類,得出一個(gè)抽象的概念。面向?qū)ο蠓椒ㄖ械摹邦悺睂⒕哂邢嗤瑢傩院托袨榈囊唤M對(duì)象提供了抽象的描述,一個(gè)屬于某類的對(duì)象稱為該類的一個(gè)實(shí)例。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.1面向?qū)ο蟮幕靖拍罘庋b(encapsulation)就是把每個(gè)對(duì)象的數(shù)據(jù)(屬性)和操作(行為)包裝在一個(gè)類中,并盡可能隱藏對(duì)象的內(nèi)部細(xì)節(jié)。一般限制直接訪問對(duì)象的屬性,而應(yīng)通過操作接口訪問,這樣使程序中模塊之間關(guān)系更簡(jiǎn)單、數(shù)據(jù)更安全。對(duì)程序的修改也僅限于類的內(nèi)部,使得由于修改程序所帶來的影響局部化。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.1面向?qū)ο蟮幕靖拍疃鄳B(tài)性(polymorphism)是指允許不同類的對(duì)象對(duì)同一消息作出的響應(yīng)不相同。一般類中定義的屬性或行為,被特殊類繼承后,可以具有不同的數(shù)據(jù)類型或者是表現(xiàn)出不同的行為。這使得同一個(gè)屬性或行為在一般類及其各個(gè)特殊類中具有不同的語義18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.1面向?qū)ο蟮幕靖拍钔ㄟ^使用面向?qū)ο蟪绦蛟O(shè)計(jì)的抽象、封裝、繼承和多態(tài)性等機(jī)制,程序更易于維護(hù)、更新和升級(jí)。利用代碼可重用性,程序員可以在程序中大量使用成熟的類庫,從而縮短程序的開發(fā)時(shí)間,提高程序員的工作效率和程序的可靠性。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.2C++面向?qū)ο蟪绦蛟O(shè)計(jì)本書介紹的主要就是使用最為廣泛的C++語言和使用C++語言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)的方法。在學(xué)習(xí)編程之前,我們首先來簡(jiǎn)單了解以下C++程序的開發(fā)過程。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.2C++面向?qū)ο蟪绦蛟O(shè)計(jì)程序的開發(fā)通常要經(jīng)過編輯、編譯、連接、運(yùn)行調(diào)試這幾個(gè)步驟。編輯是將源程序輸入到計(jì)算機(jī)中,生成后綴為.cpp的磁盤文件。編譯(compile)是將程序的源代碼轉(zhuǎn)換成機(jī)器語言代碼。程序員編制的源程序被編譯后,會(huì)生成一個(gè)目標(biāo)文件,這個(gè)文件通常以.obj作為文件擴(kuò)展名,該目標(biāo)文件為源程序的目標(biāo)代碼。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.2C++面向?qū)ο蟪绦蛟O(shè)計(jì)但是編譯后的程序還不能由計(jì)算機(jī)執(zhí)行,因?yàn)槟繕?biāo)代碼只是一個(gè)個(gè)的程序塊,需要相互銜接成為一個(gè)適應(yīng)一定操作系統(tǒng)環(huán)境的程序整體。為了把它轉(zhuǎn)換成可執(zhí)行程序,必須進(jìn)行連接(link)。C++程序通常是通過同時(shí)連接一個(gè)或多個(gè)目標(biāo)文件以及一個(gè)或幾個(gè)庫而創(chuàng)建的。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.2C++面向?qū)ο蟪绦蛟O(shè)計(jì)庫(.lib)是一組由機(jī)器指令構(gòu)成的程序代碼,是可連接文件。庫有標(biāo)準(zhǔn)庫和用戶生成的庫。標(biāo)準(zhǔn)庫是由C++提供的,用戶生成的庫是由軟件開發(fā)商或程序員提供的。文件與庫連接的結(jié)果,即生成一個(gè)后綴為.exe的計(jì)算機(jī)可執(zhí)行程序。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成我們就從最簡(jiǎn)單的例子來分析C++程序的構(gòu)成:#include<iostream>usingnamespacestd;voidmain(){cout<<"Hello,World!\n";cout<<"I'mastudent.\n";}18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成程序運(yùn)行結(jié)果為:Hello,World!I’mastudent.18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成一個(gè)C++程序是由三部分組成的,分別是:注釋部分、編譯預(yù)處理和程序主體。程序的注釋部分是程序員為讀者作的說明,是提高程序可讀性的一種方法。每個(gè)以符號(hào)“#”開頭的行,稱為編譯預(yù)處理行。如本例中“#include”稱為編譯指令。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成在程序的主體部分中,main是主函數(shù)名,函數(shù)是C++程序中最小的功能單位,每一個(gè)C++程序都必須有一個(gè)main()函數(shù),并且main()表明了程序執(zhí)行的開始點(diǎn)。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成每一種編程語言都使用一組字符來構(gòu)造成編程語句。用C++語言編寫程序時(shí),除了字符型數(shù)據(jù)以外,其它所有成分都只能由字符集中的字符構(gòu)成。C++語言的字符集由下列字符構(gòu)成:18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成26個(gè)大寫英文字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ26個(gè)小寫英文字母:abcdefghijklmnopqrstuvwxyz10個(gè)數(shù)字字符:0123456789特殊字符:

+-*/=,._:;?\"'~︱!#%&()[]{}^<>空格18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成詞法記號(hào)是最小的詞法單元,接下來介紹C++的關(guān)鍵字、標(biāo)識(shí)符、文字、運(yùn)算符、分隔符、空白符。關(guān)鍵字

C++中,關(guān)鍵字又稱保留字,它是預(yù)先定義好的標(biāo)識(shí)符,這些標(biāo)識(shí)符對(duì)C++編譯程序有著特殊的含義。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成標(biāo)識(shí)符

標(biāo)識(shí)符是程序員聲明的單詞,它命名程序正文中的一些實(shí)體,如函數(shù)名、變量名、類名、對(duì)象名等。

文字

文字是在程序中直接使用符號(hào)表示的數(shù)據(jù),包括數(shù)字、字符、字符串和布爾文字。操作符(運(yùn)算符)

操作符是用于實(shí)現(xiàn)各種運(yùn)算的符號(hào)。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.3C++程序的基本組成分隔符

分隔符用于分隔各個(gè)詞法記號(hào)或程序正文,這些分隔符不表示任何實(shí)際的操作,僅用于構(gòu)造程序

。

空白

在程序編譯時(shí)的詞法分析階段將程序正文分解為詞法記號(hào)和空白。空白是空格、制表符、換行符和注釋的總稱。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境VisualC++6.0是微軟公司推出的一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。VisualC++6.0不僅是一個(gè)C++編譯器,它還有一個(gè)非常好的集成開發(fā)環(huán)境——DeveloperStudio,包括編輯器編譯器、調(diào)試器以及程序向?qū)У冉M件,用它可以在編寫C++程序時(shí)對(duì)程序的結(jié)構(gòu)進(jìn)行可視化的管理。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境本節(jié)簡(jiǎn)單介紹VisualC++6.0集成開發(fā)環(huán)境的特點(diǎn)、界面風(fēng)格和簡(jiǎn)單工具的使用。安裝完VisualC++6.0后,從Windows的“開始|程序”菜單中選擇MicrosoftVisualStudio6.0菜單中的MicrosoftVisualC++6.0菜單項(xiàng),就啟動(dòng)了VisualC++集成開發(fā)環(huán)境,出現(xiàn)集成開發(fā)環(huán)境的主窗口DeveloperStudio。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境下面通過實(shí)例說明如何利用VisualC++6.0創(chuàng)建一個(gè)C++程序。啟動(dòng)VisualC++6.0,打開File菜單,執(zhí)行New菜單命令,出現(xiàn)New對(duì)話框,如圖1-1所示。在Project頁面窗口中選擇Win32ConsoleApplication選項(xiàng),創(chuàng)建一個(gè)Win32控制臺(tái)應(yīng)用程序。在Projectname編輯框中輸入項(xiàng)目名稱Hello,在Location編輯框中輸入保存項(xiàng)目的路徑。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境圖1-1創(chuàng)建一個(gè)Win32控制臺(tái)應(yīng)用程序18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境在Win32ConsoleApplication-Step1of1對(duì)話框中設(shè)置控制臺(tái)應(yīng)用程序的類型,如圖1-2所示。這里我們要?jiǎng)?chuàng)建一個(gè)空項(xiàng)目程序,因此選擇第一項(xiàng)Anemptyproject,單擊Finish按鈕,出現(xiàn)NewProjectInformation對(duì)話框,單擊OK按鈕,將生成一個(gè)空項(xiàng)目。

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境圖1-2設(shè)置控制臺(tái)應(yīng)用程序的類型18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境向項(xiàng)目Hello中添加源程序文件。打開Project菜單,選擇AddtoProject|New,出現(xiàn)如圖1-3所示的添加項(xiàng)目文件對(duì)話框。在的Files頁面窗口中選擇C++SourceFile,在右邊的File編輯框中輸入C++源程序文件名稱Hello,在Location編輯框中輸入保存該文件的路徑。單擊OK按鈕,在主窗口DeveloperStudio左邊的項(xiàng)目工作區(qū)窗口的SouceFiles文件夾目錄下出現(xiàn)Hello.cpp文件,雙擊該文件,在右邊的編輯窗口中輸入例1-1的源程序代碼。18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境圖1-3添加項(xiàng)目文件18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境編譯運(yùn)行源程序Hello.cpp。打開Build菜單,選擇BuildHello.exe命令項(xiàng)或按快捷鍵F7,系統(tǒng)開始對(duì)項(xiàng)目Hello進(jìn)行編譯、連接,同時(shí)在輸出窗口中顯示出編譯的內(nèi)容,當(dāng)出現(xiàn)Hello.exe–0error(s),0warning(s)字樣時(shí),表示Hello.exe可執(zhí)行文件已經(jīng)正確無誤地生成了,如圖1-4所示。在Build菜單中選取ExecuteHello.exe命令項(xiàng)或按快捷鍵Ctrl+F5,就可以運(yùn)行剛剛生成的Hello.exe

18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境圖1-4Hello項(xiàng)目DeveloperStudio窗口18十二月2023C++面向?qū)ο蟪绦蛟O(shè)計(jì)1.4VisualC++6.0開發(fā)環(huán)境MSDN幫助系統(tǒng)。除了有關(guān)VisualC++6.0IDE具體操作說明的聯(lián)機(jī)幫助文件,MicrosoftVisualStudio還提供了MSDNLibrary(Microsoftdevelopernetworklibrary)組件。MSDN幫助系統(tǒng)是一個(gè)HTML格式的幫助文件,它所包含的內(nèi)容非常豐富,包含了有關(guān)VisualStudio的編程原理、方法和應(yīng)用實(shí)例

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論