




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
電子科技大學(xué)計算機學(xué)院C++程序設(shè)計語言黃迪明
1第一章C++入門一、面向?qū)ο蟮姆椒ㄊ窃谟嬎銠C語言發(fā)展過程中產(chǎn)生的。
早期:機器語言、匯編語言
50年代中期:FORTRAN語言引進(jìn)了許多現(xiàn)代仍然使用的程序設(shè)計概念。
50年代后期:ALGOL60提出塊結(jié)構(gòu)的思想。
60年代:SIMULA67首先提出對象和類的概念,并支持類的繼承,是面向?qū)ο笳Z言的鼻祖
70年代:ADA不能全面地支持繼承,稱為基于對象的語言?!?.1面向?qū)ο蟮挠蓙砗桶l(fā)展后來出現(xiàn)的Smalltalk是最有影響的面向?qū)ο蟮恼Z言之一。80年代中后期以后,隨著面向?qū)ο蟮某绦蛟O(shè)計語言的廣泛應(yīng)用,出現(xiàn)了更多的面向?qū)ο蟮恼Z言。
面向?qū)ο蟮恼Z言可分為以下兩類:1、開發(fā)全新的面向?qū)ο蟮恼Z言O(shè)bject—CEiffelSmalltalk802、對傳統(tǒng)語言進(jìn)行面向?qū)ο蟮臄U(kuò)展,稱為混合型語言,其代表有C++語言。增加面向?qū)ο蟪绦蛟O(shè)計的支持支持傳統(tǒng)的面向過程的程序設(shè)計C++CC++語言具有C語言的豐富的應(yīng)用基礎(chǔ)和開發(fā)環(huán)境的支持,對于已經(jīng)掌握C語言的人講,更易學(xué)易普及。二、從C到C++C語言是貝爾實驗室為DEC公司開發(fā)PDP系列計算機操作系統(tǒng)時研制的。C作為UNIX操作系統(tǒng)的開發(fā)語言而廣為應(yīng)用和流行。1989年制定為ANSIC標(biāo)準(zhǔn)。1、語言簡潔、緊湊,使用方便、靈活。2、運算符和數(shù)據(jù)類型豐富。3、訪問內(nèi)存地址、寄存器、進(jìn)行位操作,具有匯編語言的功能。4、生成的目標(biāo)代碼質(zhì)量高、程序運行效率高。C語言的獨有特點是:局限:1、對類型的檢查機制相對較弱、程序中的一些錯誤不能在編譯時發(fā)現(xiàn);2、無支持代碼重用的語言結(jié)構(gòu);3、當(dāng)程序規(guī)模達(dá)到一定的程度時,難以控制程序的復(fù)雜性;為滿足管理程序復(fù)雜性需要,1980年,貝爾實驗室對C進(jìn)行了改進(jìn)和擴(kuò)充:“帶類的C”C1983年取名為C++,后經(jīng)過三次修訂。1994年制定了ANSIC++標(biāo)準(zhǔn)的草案。1、C++是C的擴(kuò)展,C是C++的子集,C++包括C的全部特征、屬性和優(yōu)點。同時,增加了對面向?qū)ο缶幊痰耐耆С帧?、與C一致,C++程序結(jié)構(gòu)采用函數(shù)驅(qū)動機制實現(xiàn)。3、C++實現(xiàn)了類的封裝,數(shù)據(jù)隱藏、繼承及多態(tài),使其代碼可重用并容易維護(hù)。4、C++是一門高效使用的程序設(shè)計語言,既可進(jìn)行過程化程序設(shè)計,又可進(jìn)行面向?qū)ο蟪绦蛟O(shè)計。C++的特點在面向過程的程序設(shè)計中,程序是處理數(shù)據(jù)的一系列過程。過程(或函數(shù))定義為實現(xiàn)特定功能的一組指令。其主要設(shè)計思想是功能分解并逐步求精。數(shù)據(jù)與程序過程分開存儲,編程的主要技巧在于關(guān)注模塊之間的調(diào)用關(guān)系及數(shù)據(jù)的變化。§1.2面向過程的程序設(shè)計1、當(dāng)數(shù)據(jù)量增大時,數(shù)據(jù)與處理這些數(shù)據(jù)的方法之間的分離使程序變得越來越難以理解。2、相對于老問題的新方法都要帶來額外的開銷,程序的可重用性小。面向過程程序設(shè)計的主要缺點
面向?qū)ο笙蟪绦蛟O(shè)設(shè)計OOP(Object-OrientedProgramming)的三要素:對象、類類和繼承承面向?qū)ο笙蟪绦蛟O(shè)設(shè)計的實實現(xiàn)需要要:封裝和數(shù)數(shù)據(jù)隱藏藏技術(shù)繼承和多多態(tài)性技技術(shù)§1.3面面向?qū)ο蟪绦蛐蛟O(shè)計1、封裝裝和數(shù)據(jù)據(jù)隱藏什么是對對象?概念上::在問題題空間中中,將客客觀世界界的實體體稱為對對象。對對象可以以是人、、物、事事件、規(guī)規(guī)則、概概念等。。例如:開開發(fā)一個個商品銷銷售系統(tǒng)統(tǒng)。實現(xiàn)上::把數(shù)據(jù)據(jù)和處理理數(shù)據(jù)的的過程((操作或或方法))當(dāng)成一一個整體體,這個個封裝體體就稱為為對象。。數(shù)據(jù)1…….數(shù)據(jù)n操作1…….操作n狀態(tài)(數(shù)據(jù)結(jié)構(gòu)和值)方法對象的模模型結(jié)構(gòu)構(gòu)例如:電電腦裝配配聲卡,,早點銷銷售點無須知道道封裝體體內(nèi)部是是如何工工作就能能使用的的思想稱為為數(shù)據(jù)隱隱藏。對象實現(xiàn)現(xiàn)了信息息隱藏;;對象與外外部通過過操作接接口聯(lián)系系,操作作接口提提供了對象象的功能能,操作作的具體體實現(xiàn)外外部是不不可見的。對象之間間是通過過消息傳傳遞信息息。對象是由由特定的的類創(chuàng)造造的,什什么是類類?類是創(chuàng)建建對象的的樣板,,它包含含著所創(chuàng)創(chuàng)建對象象的狀態(tài)描描述和方方法的定定義。由一個特特定的類類所創(chuàng)建建的的對對象也稱稱為這個類的的實例。。一個類的的所有對對象都有有相同的的數(shù)據(jù)結(jié)結(jié)構(gòu),并且共享享相同的的實現(xiàn)操操作的代代碼,而而各個對對象又有具具體的不不同的狀狀態(tài)。類類和對象象類似于于面向過程程語言中中數(shù)據(jù)類類型和變變量。例如:學(xué)學(xué)生類和和某個學(xué)學(xué)生對象象。2、繼承承和重用用制造一種種新型號號的電視視機可以以有兩種種選擇::1)從草草圖開始始重新設(shè)設(shè)計2)對現(xiàn)現(xiàn)有型號號加以改改進(jìn)(繼繼承和重重用)C++采采用繼承承機制支支持重用用,不僅僅可重用用具有特特定功能能的類,,而且繼繼承可以以由已有有的類創(chuàng)造新的的類。新類共享享已有類類的屬性性,自己己還具有有額外添加的屬屬性,新新類是從從已有類類派生的的,稱為為派生類或子子類,已已有類稱稱為父類類或基類類。在客觀世世界中,,存在著著整體和和部分的的關(guān)系、、一般和特特殊的關(guān)關(guān)系,繼繼承將后后者模型型化。汽車類,,各各類汽車車?yán)ハx類,,各各類昆蟲蟲3、多態(tài)態(tài)性封裝性、、繼承性性、多態(tài)態(tài)性是構(gòu)構(gòu)成面向向?qū)ο蟪绦蛟O(shè)計計的三大大特征。。封裝性是是基礎(chǔ)繼承性是是關(guān)鍵多態(tài)性是是補充什么是多多態(tài)性??多態(tài)是指指一個名名字有多多種語義義,或一一個相同同界面有有多種實實現(xiàn);或是指發(fā)發(fā)出同樣樣的消息息被不同同類型的的對象接受而導(dǎo)導(dǎo)致完全全不同的的行為。。即對象象根據(jù)所所接收到到的消息息做出相相應(yīng)的操操作。例如:在在學(xué)籍管管理系統(tǒng)統(tǒng)中學(xué)生類((基類))計算成績績的操作作中學(xué)生類類(派生生類)計算成績績的操作作大學(xué)生類類(派生生類)計算成績績的操作作又如:在在繪圖系系統(tǒng)中使使用的多多態(tài)性。。函數(shù)重載載和運算算符重載載表現(xiàn)了了最簡單單的多態(tài)態(tài)性。函數(shù)重載載:Voidf(int,int,char);Voidf(char,float);Voidf(int,int);Voidf(int,float);運算符重重載:為運算符符+-*/等等賦以以新的含含義,以以實現(xiàn)類對對象的運運算。編譯錯連接編輯編譯運行連接錯運行錯YYYNNN完成#include文件C++庫文件×××.CPP
源程序×××.obj目標(biāo)程序×××.exe可執(zhí)行程序#include文件§1.4程程序開開發(fā)過程程例1://************************//*******ch1.1.cpp*********//************************#include<iostream.h>voidmain(){cout<<“Iamastudent.\n”;}§1.5最最簡單單的程序序運行結(jié)果果為:Iamastudent.例2://**ch1.2.cpp**#include<iostream.h>voidmain(){inta,b,result;cout<<“Pleaseinputtwonumbers:\n””;cin>>a>>b;result=3*a-2*b+1;cout<<“Resultis””<<result<<endl;}運行結(jié)果為:C:>ch1.2Pleaseinputtwonumbers:10050Resultis201C++程程序是由由函數(shù)構(gòu)構(gòu)成的,,由一個個主函數(shù)數(shù)和若干干個函數(shù)數(shù)構(gòu)成。。C++程序序是函數(shù)數(shù)驅(qū)動的的。例3://*******ch1.3.cpp*********#include<iostream.h>#include<math.h>doublemax(doublx,doubly);voidmain(){doublea,b,c;cout<<“Inputtwonumbers:\n”;cin>>a>>b;c=max(a,b);cout<<“Thesquartofmaximum=”<<sqrt(c);}§1.6函函數(shù)數(shù)doublema
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 15045-4-2:2024 EN Information technology - Home Electronic System (HES) gateway - Part 4-2: Structure - Simple gateway
- 【正版授權(quán)】 ISO 10993-4:2017/Amd 1:2025 EN Biological evaluation of medical devices - Part 4: Selection of tests for interactions with blood - Amendment 1
- 2025年度兒童接送服務(wù)與社區(qū)共建合作協(xié)議
- 2025年度出租車大包合同范本與合同法解讀
- 2025年新型不銹鋼罐體設(shè)計、制造與安裝集成合同
- 財務(wù)報表披露規(guī)定計劃
- 主管如何激勵高表現(xiàn)者計劃
- 倉庫精益管理的實施效果計劃
- 班級外聯(lián)活動的經(jīng)驗分享計劃
- 課程創(chuàng)新與教學(xué)實驗計劃
- 2025年春季學(xué)期學(xué)校團(tuán)委工作計劃(附團(tuán)委工作安排表)
- 2025公文寫作考試題庫(含參考答案)
- 2025年湖南科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年安徽省高校分類考試對口招生語文試卷真題(含答案)
- 2024年安徽省省情知識競賽題庫及答案
- 2025年伊春職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025版林木砍伐與生態(tài)修復(fù)工程承包合同2篇
- 課題申報參考:社會網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 如何管理好一家公寓
- 2025年零售業(yè)員工職業(yè)發(fā)展規(guī)劃與培訓(xùn)
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
評論
0/150
提交評論