




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
電子科技大學計算機學院C++程序設計語言黃迪明
1第一章C++入門一、面向對象的方法是在計算機語言發展過程中產生的。
早期:機器語言、匯編語言
50年代中期:FORTRAN語言引進了許多現代仍然使用的程序設計概念。
50年代后期:ALGOL60提出塊結構的思想。
60年代:SIMULA67首先提出對象和類的概念,并支持類的繼承,是面向對象語言的鼻祖
70年代:ADA不能全面地支持繼承,稱為基于對象的語言。§1.1面向對象的由來和發展后來出現的Smalltalk是最有影響的面向對象的語言之一。80年代中后期以后,隨著面向對象的程序設計語言的廣泛應用,出現了更多的面向對象的語言。
面向對象的語言可分為以下兩類:1、開發全新的面向對象的語言Object—CEiffelSmalltalk802、對傳統語言進行面向對象的擴展,稱為混合型語言,其代表有C++語言。增加面向對象程序設計的支持支持傳統的面向過程的程序設計C++CC++語言具有C語言的豐富的應用基礎和開發環境的支持,對于已經掌握C語言的人講,更易學易普及。二、從C到C++C語言是貝爾實驗室為DEC公司開發PDP系列計算機操作系統時研制的。C作為UNIX操作系統的開發語言而廣為應用和流行。1989年制定為ANSIC標準。1、語言簡潔、緊湊,使用方便、靈活。2、運算符和數據類型豐富。3、訪問內存地址、寄存器、進行位操作,具有匯編語言的功能。4、生成的目標代碼質量高、程序運行效率高。C語言的獨有特點是:局限:1、對類型的檢查機制相對較弱、程序中的一些錯誤不能在編譯時發現;2、無支持代碼重用的語言結構;3、當程序規模達到一定的程度時,難以控制程序的復雜性;為滿足管理程序復雜性需要,1980年,貝爾實驗室對C進行了改進和擴充:“帶類的C”C1983年取名為C++,后經過三次修訂。1994年制定了ANSIC++標準的草案。1、C++是C的擴展,C是C++的子集,C++包括C的全部特征、屬性和優點。同時,增加了對面向對象編程的完全支持。2、與C一致,C++程序結構采用函數驅動機制實現。3、C++實現了類的封裝,數據隱藏、繼承及多態,使其代碼可重用并容易維護。4、C++是一門高效使用的程序設計語言,既可進行過程化程序設計,又可進行面向對象程序設計。C++的特點在面向過程的程序設計中,程序是處理數據的一系列過程。過程(或函數)定義為實現特定功能的一組指令。其主要設計思想是功能分解并逐步求精。數據與程序過程分開存儲,編程的主要技巧在于關注模塊之間的調用關系及數據的變化。§1.2面向過程的程序設計1、當數據量增大時,數據與處理這些數據的方法之間的分離使程序變得越來越難以理解。2、相對于老問題的新方法都要帶來額外的開銷,程序的可重用性小。面向過程程序設計的主要缺點
面向對象象程序設設計OOP(Object-OrientedProgramming)的三要素:對象、類類和繼承承面向對象象程序設設計的實實現需要要:封裝和數數據隱藏藏技術繼承和多多態性技技術§1.3面面向對對象程序序設計1、封裝裝和數據據隱藏什么是對對象?概念上::在問題題空間中中,將客客觀世界界的實體體稱為對對象。對對象可以以是人、、物、事事件、規規則、概概念等。。例如:開開發一個個商品銷銷售系統統。實現上::把數據據和處理理數據的的過程((操作或或方法))當成一一個整體體,這個個封裝體體就稱為為對象。。數據1…….數據n操作1…….操作n狀態(數據結構和值)方法對象的模模型結構構例如:電電腦裝配配聲卡,,早點銷銷售點無須知道道封裝體體內部是是如何工工作就能能使用的的思想稱為為數據隱隱藏。對象實現現了信息息隱藏;;對象與外外部通過過操作接接口聯系系,操作作接口提提供了對象象的功能能,操作作的具體體實現外外部是不不可見的。對象之間間是通過過消息傳傳遞信息息。對象是由由特定的的類創造造的,什什么是類類?類是創建建對象的的樣板,,它包含含著所創創建對象象的狀態描描述和方方法的定定義。由一個特特定的類類所創建建的的對對象也稱稱為這個類的的實例。。一個類的的所有對對象都有有相同的的數據結結構,并且共享享相同的的實現操操作的代代碼,而而各個對對象又有具具體的不不同的狀狀態。類類和對象象類似于于面向過程程語言中中數據類類型和變變量。例如:學學生類和和某個學學生對象象。2、繼承承和重用用制造一種種新型號號的電視視機可以以有兩種種選擇::1)從草草圖開始始重新設設計2)對現現有型號號加以改改進(繼繼承和重重用)C++采采用繼承承機制支支持重用用,不僅僅可重用用具有特特定功能能的類,,而且繼繼承可以以由已有有的類創造新的的類。新類共享享已有類類的屬性性,自己己還具有有額外添加的屬屬性,新新類是從從已有類類派生的的,稱為為派生類或子子類,已已有類稱稱為父類類或基類類。在客觀世世界中,,存在著著整體和和部分的的關系、、一般和特特殊的關關系,繼繼承將后后者模型型化。汽車類,,各各類汽車車昆蟲類,,各各類昆蟲蟲3、多態態性封裝性、、繼承性性、多態態性是構構成面向向對象程序設計計的三大大特征。。封裝性是是基礎繼承性是是關鍵多態性是是補充什么是多多態性??多態是指指一個名名字有多多種語義義,或一一個相同同界面有有多種實實現;或是指發發出同樣樣的消息息被不同同類型的的對象接受而導導致完全全不同的的行為。。即對象象根據所所接收到到的消息息做出相相應的操操作。例如:在在學籍管管理系統統中學生類((基類))計算成績績的操作作中學生類類(派生生類)計算成績績的操作作大學生類類(派生生類)計算成績績的操作作又如:在在繪圖系系統中使使用的多多態性。。函數重載載和運算算符重載載表現了了最簡單單的多態態性。函數重載載:Voidf(int,int,char);Voidf(char,float);Voidf(int,int);Voidf(int,float);運算符重重載:為運算符符+-*/等等賦以以新的含含義,以以實現類對對象的運運算。編譯錯連接編輯編譯運行連接錯運行錯YYYNNN完成#include文件C++庫文件×××.CPP
源程序×××.obj目標程序×××.exe可執行程序#include文件§1.4程程序開開發過程程例1://************************//*******ch1.1.cpp*********//************************#include<iostream.h>voidmain(){cout<<“Iamastudent.\n”;}§1.5最最簡單單的程序序運行結果果為: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;}運行結果為:C:>ch1.2Pleaseinputtwonumbers:10050Resultis201C++程程序是由由函數構構成的,,由一個個主函數數和若干干個函數數構成。。C++程序序是函數數驅動的的。例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函函數數doublema
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上半年合肥市市直事業單位公開招聘工作人員筆試總筆試歷年典型考題及考點剖析附帶答案詳解
- 2025企業安全培訓考試試題含完整答案(各地真題)
- 2025年公司項目部安全培訓考試試題加解析答案可打印
- 2025學校食堂蔬菜采購合同模板
- 2025合同撤銷的法律后果
- 2025年個體工商戶買賣合同模板
- 2025生產制造外包服務合同
- 2025銷售顧問勞動合同模板AA
- 2025停車場建設合同范本模板
- 2025年度合同協議范本
- 青島超銀中學2022-2023學年七年級下學期階段性調研地理試題【帶答案】
- 2024年安徽省初中(八年級)學業水平考試初二會考生物+地理試卷真題
- 火針療法在皮膚科:國際視角
- 4000m3d制藥廢水計算書
- 越劇古裝衣介紹
- 宅基地確權委托書
- 人事行政工作成功典范總結
- 英國皇室文化課件
- 咯血個案護理
- 第6課+呵護花季+激揚青春【中職專用】《心理健康與職業生涯規劃》(高教版2023基礎模塊)
- 博士生入學復試面試報告個人簡歷介紹(完美版)模板兩篇
評論
0/150
提交評論