


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章緒論C+概念與簡答1、請簡述什么是面向?qū)ο蟮恼Z言(對象)以及它們之間的關(guān)系。(1 )出發(fā)點:更直接地描述客觀世界中存在的事物(2)特點: 是高級語言。 將客觀事物看作具有屬性和行為的對象 通過抽象找出同一類對象的共同屬性和行為,形成類。 通過類的繼承與多態(tài)實現(xiàn)代碼重用。(3)優(yōu)點:使程序能夠比較直接地反映問題域的本來面目,軟件開發(fā)人員能夠利用人類認(rèn)識事物所采用的一般思維方法來進行軟件開發(fā)。2、面向?qū)ο蟮姆椒ǎ?) 將數(shù)據(jù)及對數(shù)據(jù)的操作方法封裝在一起,作為一個相互依存、不可分離的整體對 象。(2)對同類型對象抽象出其共性,形成類。_(3)類通過一個簡單的外部接口,與外界發(fā)生關(guān)系。(4 )對
2、象與對象之間通過消息進行通信。3、封裝把對象的屬性和服務(wù)結(jié)合成一個獨立的系統(tǒng)單元 4、繼承對于軟件復(fù)用有著重要意義,是面向?qū)ο蠹夹g(shù)能夠提高軟件開發(fā)效率的重要原因 。定義:特殊類的對象擁有其一般類的全部屬性與服務(wù),稱作特殊類對一般類的繼承。5、多態(tài)性:同樣一個接口,不同的數(shù)據(jù)有不同的狀態(tài)6、面向?qū)ο蟮能浖こ蹋疾炜s寫匹配)面向?qū)ο蟮姆治觯?0A)意義:能夠很好地映射客觀事物。面向?qū)ο蟮脑O(shè)計(00D)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮臏y試(00T)以對象的類作為基本測試單位面向?qū)ο蟮能浖S護(OOSM)7、程序的開發(fā)過程(1) 編輯:將源程序輸入到計算機中,生成后綴為cpp的磁盤文件。(2)編譯
3、:將程序的源代碼轉(zhuǎn)換為機器語言代碼。exe的可執(zhí)行文(3)連接 將多個源程序文件以及庫中的某些文件連在一起,生成后綴為 件。(4 )運行調(diào)試第二章C+簡單程序設(shè)計1、 語言的最基本單位是字符:字符一一詞一一 語句一一 函數(shù)一一 程序。2、字符集是構(gòu)成C+語言的基本元素3、詞法記號是最小的詞法單位4、類型名的字節(jié)長度類型名長度(字節(jié))bool1char1sig ned char1un sig ned char1short (signed short)2un sig ned short2int (signed int)4un sig ned int4long (signed long)4un si
4、g ned long4float4double8long double85、 所謂常量是指在程序運行的整個過程中其值始終不可改變的量,也就是直接使用符號(文 字)表示的值。分為一般常量和符號常量兩種6、 實數(shù)常量缺省為 double型,如果后綴F (或f)可以使其成為float型(要和字符常量區(qū)分)7、字符串型常量是用雙引號括起來的一個或多個字符。& bool,值只能為 true 或false9、sizeof運算符用來求“類型名”所指定的類型或“表達(dá)式”的結(jié)果類型所占的字節(jié)數(shù)10、隱含轉(zhuǎn)換,基本原則是將低類型數(shù)據(jù)轉(zhuǎn)換為高類型數(shù)據(jù)11、 從流中獲取數(shù)據(jù)的操作稱為提取操作“ >>
5、;”,向流中添加數(shù)據(jù)的操作稱為插入操作“<<”。12、 cin用來處理標(biāo)準(zhǔn)輸入,即鍵盤輸入。cout用來處理標(biāo)準(zhǔn)輸出,即屏幕輸出。cout << 表達(dá)式 << 表達(dá)式cin >> 表達(dá)式 >> 表達(dá)式 13、結(jié)構(gòu)是由不同數(shù)據(jù)類型的數(shù)據(jù)組成的集合體。第三章函數(shù)1、函數(shù)的調(diào)用調(diào)用前先聲明函數(shù):若函數(shù)定義在調(diào)用點之前,則無需另外聲明;若函數(shù)定義在調(diào)用點之后,則需要在調(diào)用函數(shù)前按如下形式聲明函數(shù)原型:類型標(biāo)識符被調(diào)用函數(shù)名(含類型說明的形參表);調(diào)用形式函數(shù)名(實參列表)嵌套調(diào)用函數(shù)可以嵌套調(diào)用,但不允許嵌套定義。遞歸調(diào)用函數(shù)直接或間接調(diào)用自
6、身。2、函數(shù)的參數(shù)傳遞(經(jīng)常考選擇題)(經(jīng)??歼x擇題)(經(jīng)??歼x擇題)(經(jīng)??歼x擇題)在函數(shù)被調(diào)用時才分配形參的存儲單元。 實參可以是常量、變量或表達(dá)式。實參類型必須與形參相符。值傳遞是傳遞參數(shù)值,即單向傳遞。 引用傳遞可以實現(xiàn)雙向傳遞 常引用作參數(shù)可以保障實參數(shù)據(jù)的安全3、引用可以作為形參(作為形參不必初始化 )void swap(i nt &a, int &b) .4、有缺省參數(shù)的形參必須在形參列表的最后,也就是說缺省形參值的右面不能有無缺省值的參數(shù)。因為調(diào)用時實參與形參的結(jié)合是從左向右的順序。(要理解,考選擇題)int add(int x, int y = 5, int
7、z = 6);/ 正確int add(int x = 1, int y = 5, int z);/ 錯誤int add(int x = 1, int y, int z = 6);/ 錯誤5、 函數(shù)重載:C+允許功能相近的函數(shù)在相同的作用域內(nèi)以相同函數(shù)名聲明,從而形成重 載。方便使用,便于記憶。要么形參類型不同,要么形參個數(shù)不同(不以形參名來區(qū)分,不以返回值來區(qū)分)6、 很多標(biāo)準(zhǔn) C+函數(shù)繼承自標(biāo)準(zhǔn) C,頭文件以 c開頭:cmath, cstdlib,cstdio, ctime第四章類與對象1、抽象的實現(xiàn):通過類的聲明。2、類是具有相同屬性和行為的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一
8、的抽 象描述,其內(nèi)部包括屬性和行為兩個主要部分。3、函數(shù)是將邏輯上相關(guān)的語句與數(shù)據(jù)封裝,用于完成特定的功能。而類則是邏輯上相關(guān)的函數(shù)與數(shù)據(jù)封裝,它是對所要處理的問題的描述。(非常重要的兩句話)4、類是一種用戶自定義類型5、 在關(guān)鍵字private后面聲明,只允許本類中的函數(shù)訪問,而類外部的任何函數(shù)都不能訪問。如果緊跟在類名稱的后面聲明私有成員,則關(guān)鍵字private可以省略。6、 類的對象是該類的某一特定實體,即類類型的變量。(想不到吧)聲明形式:類名對象名;例:Clock myClock;類中成員互訪:直接使用成員名類外訪問:使用“對象名成員名”方式訪問 public屬性的成員7、在類中說明
9、原型,可在類外給出函數(shù)體實現(xiàn),并在函數(shù)名前使用類名加以限定。也可以 直接在類中給岀函數(shù)體,形成內(nèi)聯(lián)成員函數(shù)。&內(nèi)聯(lián)成員函數(shù)(愛考選擇題)為了提高運行時的效率,對于較簡單的函數(shù)可以聲明為內(nèi)聯(lián)形式。內(nèi)聯(lián)函數(shù)體中不要有復(fù)雜結(jié)構(gòu)(如循環(huán)語句和switch語句)。在類中聲明內(nèi)聯(lián)成員函數(shù)的方式:隱式一一將函數(shù)體放在類的聲明中。顯式使用inline關(guān)鍵字。9、結(jié)構(gòu)與類的區(qū)別區(qū)別:(很重要)類中成員的缺省存儲屬性為私有的; 結(jié)構(gòu)體中的缺省存儲屬性為公有的10、 構(gòu)造函數(shù)的作用是在對象被創(chuàng)建時使用特定的值構(gòu)造對象,或者說將對象初始化為一個 特定的狀態(tài)。在對象創(chuàng)建時由系統(tǒng)自動調(diào)用。如果程序中未聲明,則系統(tǒng)
10、自動產(chǎn)生出一個隱含的參數(shù)列表為空的構(gòu)造函數(shù)允許為內(nèi)聯(lián)函數(shù)、重載函數(shù)、帶默認(rèn)形參值的函數(shù)11、拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),其形參為本類的對象引用。class類名public :類名(形參);構(gòu)造函數(shù)類名(類名 &對象名);拷貝構(gòu)造函數(shù);類名::類(類名&對象名)拷貝構(gòu)造函數(shù)的實現(xiàn) 函數(shù)體 12、 析構(gòu)函數(shù):在對象的生存期結(jié)束的時刻系統(tǒng)自動調(diào)用它,然后再釋放此對象所屬的空間。第五章數(shù)據(jù)的共享與保護1、類作用域作用于特定的成員名2、類X的成員m具有類作用域,對 m的訪問方式如下:如果在X的成員函數(shù)中沒有聲明同名的局部作用域標(biāo)識符,那么在該函數(shù)內(nèi)可以訪問成員m。通過表達(dá)式X:m或
11、者x.m訪問。通過表達(dá)式 ptr->m 3、不在前述各個作用域中出現(xiàn)的聲明,就具有文件作用域,這樣聲明的標(biāo)識符其作用域開 始于聲明點,結(jié)束于文件尾。4、文何作用域類件用域塊作用域5、標(biāo)識符應(yīng)聲明在先,引用在后。如果某個標(biāo)識符在外層中聲明,且在內(nèi)層中沒有同一標(biāo)識符的聲明,則該標(biāo)識符在內(nèi)層可見。對于兩個嵌套的作用域, 如果在內(nèi)層作用域內(nèi)聲明了與外層作用域中同名的標(biāo)識符,則外層作用域的標(biāo)識符在內(nèi)層不可見。6、對象從產(chǎn)生到結(jié)束的這段時間就是它的生存期7、在函數(shù)內(nèi)部聲明靜態(tài)生存期對象,要冠以關(guān)鍵字static。&靜態(tài)數(shù)據(jù)成員用關(guān)鍵字static聲明該類的所有對象維護該成員的同一個拷貝必須在
12、類外定義和初始化,用(J來指明所屬的類。(重要考點)9、靜態(tài)成員屬于類,非靜態(tài)成員屬于對象。靜態(tài)成員函數(shù)只能引用屬于該類的靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù)。10、“?!俺n愋偷膶ο蟊仨氝M行初始化,而且不能被更新。 常對象:必須進行初始化,不能被更新。con st類名對象名常引用:被引用的對象不能被更新。const類型說明符&引用名常數(shù)組:數(shù)組元素不能被更新(下一章介紹)。類型說明符con st數(shù)組名大小.常指針:指向常量的指針(下一章介紹)。11、一個源程序可以劃分為多個源文件:類聲明文件(.h文件)類實現(xiàn)文件(.cpp文件)類的使用文件(main()所在的.cpp文件)12、編譯預(yù)處理#i
13、nclude包含指令將一個源文件嵌入到當(dāng)前源文件中該點處。#include< 文件名 >按標(biāo)準(zhǔn)方式搜索,文件位于C+系統(tǒng)目錄的include子目錄下#include"文件名”首先在當(dāng)前目錄中搜索,若沒有,再按標(biāo)準(zhǔn)方式搜索。#define宏定義指令定義符號常量,很多情況下已被con st定義語句取代。定義帶參數(shù)宏,已被內(nèi)聯(lián)函數(shù)取代。#defi ne MAX(a, b) (a)>(b)?(a): (b)#undef刪除由#define定義的宏,使之不再起作用。第六章數(shù)組指針與字符串1、數(shù)組元素所屬類的構(gòu)造函數(shù)不聲明構(gòu)造函數(shù),則采用缺省構(gòu)造函數(shù)。各元素對象的初值要求為相同
14、的值時,可以聲明具有默認(rèn)形參值的構(gòu)造函數(shù)。各元素對象的初值要求為不同的值時,需要聲明帶形參的構(gòu)造函數(shù)。當(dāng)數(shù)組中每一個對象被刪除時,系統(tǒng)都要調(diào)用一次析構(gòu)函數(shù)。2、指針變量的聲明指針:內(nèi)存地址,用于間接訪問內(nèi)存單元指針變量:用于存放地址的變量3、指針變量的賦值運算向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù) ,表示空指針。指針的類型是它所指向變量的類型,而不是指針本身數(shù)據(jù)值的類型,任何一個指針本身的數(shù)據(jù)值都是 unsigned long int 型。4、 動態(tài)申請內(nèi)存操作符newnew 類型名T (初始化參數(shù)列表)功能:在程序執(zhí)行期間,申請用于存放T類型對象的內(nèi)存空間,并
15、依初值列表賦以初值。結(jié)果值:成功:T類型的指針,指向新分配的內(nèi)存;失敗:拋出異常。5、釋放內(nèi)存操作符 deletedelete 指針 p功能:釋放指針p所指向的內(nèi)存。p必須是new操作的返回值。6、申請和釋放動態(tài)數(shù)組分配:new類型名T 數(shù)組長度數(shù)組長度可以是任何表達(dá)式,在運行時計算釋放:delete數(shù)組名p釋放指針p所指向的數(shù)組。p必須是用new分配得到的數(shù)組首地址。7、用字符數(shù)組存儲和處理字符串字符串常量(例:"program")各字符連續(xù)、順序存放,每個字符占一個字節(jié),以0 '結(jié)尾,相當(dāng)于一個隱含創(chuàng)建的字符常量數(shù)組;“program ”出現(xiàn)在表達(dá)式中,表示這一
16、char數(shù)組的首地址;首地址可以賦給char常量指針;con st char *STRING1 = "program"字符串變量可以顯式創(chuàng)建字符數(shù)組來表示字符串變量,例如,以下三條語句具有等價的作用:char str8 = 'p', 'r', 'o', 'g', 'r', 'a', 'm', '0' ;char str8 = "program"char str = "program"&字符串的輸入/輸
17、出方法逐個字符輸入輸出將整個字符串一次輸入或輸出例:char c ="China"cout<<c;輸出字符不包括'0'輸出字符串時,輸出項是字符數(shù)組名,輸出時遇到0'結(jié)束。輸入多個字符串時,以空格分隔;輸入單個字符串時其中不能有空格。9、字符串處理函數(shù)strcat (連接),strcpy (復(fù)制), strcmp (比較),strlen (求長度), strlwr(轉(zhuǎn)換為小寫),strupr (轉(zhuǎn)換為大寫)頭文件 <string.h>第七章繼承與派生1、類的繼承與派生保持已有類的特性而構(gòu)造新類的過程稱為繼承_在已有類的基礎(chǔ)上新
18、增自己的特性而產(chǎn)生新類的過程稱為派生。被繼承的已有類稱為基類(或父類)。派生出的新類稱為派生類。2、一個派生類,可以同時有多個基類,這種情況稱為多繼承一個派生類只有一個直接基類的情況,稱為單繼 直接參與派生出某類的基類稱為直接基類丿類的基類甚至更高層的基類稱為間接基類派生類成員是指除了從基類繼承來的所有成員之外,新增加的數(shù)據(jù)和函數(shù)成員。3、派生類生成過程派生新類經(jīng)歷了三個步驟:吸收基類成員吸收基類成員之后,派生類實際上就包含了它的全部基類中除構(gòu)造和析構(gòu)函數(shù)之外的所 有成員。改造基類成員如果派生類聲明了一個和某基類成員同名的新成員(如果是成員函數(shù), 則參數(shù)表也要相同,參數(shù)不同的情況屬于重載),派
19、生的新成員就覆蓋了外層同名成員添加新的成員派牛類新成員的加入是繼承與派牛機制的核心,是保證派牛類在功能上有所發(fā)展4、保護繼承(protected)基類的public和protected成員都以protected身份出現(xiàn)在派生類中,但基類的 private 成員不可直接訪問。派生類中的成員函數(shù)可以直接訪問基類中的public和protected成員,但不能直接訪問基類的private成員。通過派生類的對象不能直接訪問基類中的任何成員公有繼承保護繼承私有繼承基類 公有成員可訪問(pub)可訪問(pro)可訪問feW可訪問不i J訪冋不可訪冋基類可訪問(pro)可訪問(pro)可訪問toil)保護成
20、員不可訪冋基類不可訪問不戶訪問不討訪冋私有成員牛叫訪叵|1JV Jf小刊訪問上:派生類成員對基類成員的訪問權(quán)限 下:派生類對St對墓類成員的訪問權(quán)順5、類型兼容規(guī)則一個公有派生類的對象在使用上可以被當(dāng)作基類的對象,反之則禁止。具體表現(xiàn)在: 派生類的對象可以隱含轉(zhuǎn)換為 (賦值給)基類對象。派生類的對象可以初始化基類的引用。 派生類的指針可以隱含轉(zhuǎn)換為基類的指針。當(dāng)派生類對象被當(dāng)成基類對象使用后,通過基類對象名、指針只能使用從基類繼承的成員6、繼承時的構(gòu)造函數(shù)基類的構(gòu)造函數(shù)不被繼承,派生類中需要聲明自己的構(gòu)造函數(shù)。定義構(gòu)造函數(shù)時,只需要對本類中新增成員進行初始化,對繼承來的基類成員的初始化,宜動調(diào)
21、用基類構(gòu)造函數(shù)完成。派生類的構(gòu)造函數(shù)需要給基類的構(gòu)造函數(shù)傳遞參數(shù)7、構(gòu)造函數(shù)的執(zhí)行順序(非常重要)調(diào)用基類構(gòu)造函數(shù),調(diào)用順序按照它們被繼承時聲明的順序(從左向右)。對成員對象進行初始化,初始化順序按照它們在類中聲明的順序。執(zhí)行派牛類的構(gòu)造函數(shù)體中的內(nèi)容。&同名隱藏規(guī)則:如要通過派生類對象訪問基類中被隱藏的同名成員,應(yīng)使用基類名限定。第八章 多態(tài)性1、多態(tài)是指操作接口具有表現(xiàn)多種形態(tài)的能力,即能根據(jù)操作環(huán)境的不同采用不同的處理 方式。一組具有相同基本語義的方法能在同一接口下為不同的對象服務(wù)。多態(tài)的實現(xiàn):-函數(shù)董載 -運算符重載_虛函數(shù)-靜態(tài):編譯時的多態(tài)動態(tài):運行時的多態(tài)2、運算符重載的規(guī)則C+幾乎可以重載全部數(shù)據(jù)的實際需要,對原有運算符進行適當(dāng)?shù)倪\算符,只能重載C+語言中已有的運算符,不可臆造新的。不能重載的運算符舉例:“”、“*”、“:”、“?:”重載之后運算符的優(yōu)先級和結(jié)合性都不會改變。不能改變操作數(shù)個數(shù)。運算符重載是針對新類型的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海運船務(wù)培訓(xùn)課件
- 客房服務(wù)培訓(xùn)課件
- ??婆嘤?xùn)個人總結(jié)
- 彩色天空藝術(shù)課件
- 種植牙后的健康宣教
- 腫瘤標(biāo)志物的臨床應(yīng)用價值
- 企業(yè)生產(chǎn)培訓(xùn)課件
- 教員工使用釘釘app的培訓(xùn)
- 初級教師職稱論文
- 兒童護理員培訓(xùn)課件
- 橋梁基本狀況卡片(2021新版)
- 塔式起重機安裝驗收牌
- 有機硅化學(xué)課件-有機硅化學(xué)基本反應(yīng)
- 如何根據(jù)三視圖畫軸測圖及補視圖缺線課件
- 《水產(chǎn)養(yǎng)殖前沿講座》課程教學(xué)大綱
- 漁業(yè)成品油價格補助專項資金管理暫行辦法
- 水庫工程建設(shè)征地移民安置監(jiān)測評估本底調(diào)查報告
- 2023年06月新疆生產(chǎn)建設(shè)兵團第十二師“三支一扶”招募高校畢業(yè)生筆試題庫含答案解析
- 基于C#的WinForm程序設(shè)計學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 十堰市張灣區(qū)紅衛(wèi)街道社區(qū)工作者考試真題2022
- 突發(fā)性耳聾培訓(xùn)課件
評論
0/150
提交評論