版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.c+概念與簡答第一章 緒論1、請簡述什么是面向?qū)ο蟮恼Z言(1)出發(fā)點:更直接地描述客觀世界中存在的事物(對象)以及它們之間的關(guān)系。(2)特點:是高級語言。將客觀事物看作具有屬性和行為的對象。通過抽象找出同一類對象的共同屬性和行為,形成類。通過類的繼承與多態(tài)實現(xiàn)代碼重用。(3)優(yōu)點:使程序能夠比較直接地反映問題域的本來面目,軟件開發(fā)人員能夠利用人類認識事物所采用的一般思維方法來進行軟件開發(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寫匹配)l 面向?qū)ο蟮姆治觯╫oa)意義:能夠很好地映射客觀事物。l 面向?qū)ο蟮脑O(shè)計(ood)l 面向?qū)ο蟮木幊蹋╫op)l 面向?qū)ο蟮臏y試(oot)以對象的類作為基本測試單位l 面向?qū)ο蟮能浖S護(oosm)7、程序的開發(fā)過程(1)編輯:將源程序輸入到計算機中,生成后綴為cpp的磁盤文件。(2)
3、編譯:將程序的源代碼轉(zhuǎn)換為機器語言代碼。(3)連接:將多個源程序文件以及庫中的某些文件連在一起,生成后綴為exe的可執(zhí)行文件。(4)運行調(diào)試精品.第二章 c+簡單程序設(shè)計1、語言的最基本單位是字符:字符詞語句函數(shù)程序。2、字符集是構(gòu)成c+語言的基本元素3、詞法記號是最小的詞法單位4、類型名的字節(jié)長度類型名長度(字節(jié))bool1char1signed char1unsigned char1short(signed short)2unsigned short2int(signed int)4unsigned int4long(signed long)4unsigned long4float4dou
4、ble8long double85、所謂常量是指在程序運行的整個過程中其值始終不可改變的量,也就是直接使用符號(文字)表示的值。分為一般常量和符號常量兩種6、實數(shù)常量缺省為double型,如果后綴f(或f)可以使其成為float型精品.7、字符串型常量是用雙引號括起來的一個或多個字符。(要和字符常量區(qū)分)8、bool,值只能為 true 或 false9、sizeof 運算符用來求“類型名”所指定的類型或“表達式”的結(jié)果類型所占的字節(jié)數(shù)10、隱含轉(zhuǎn)換,基本原則是將低類型數(shù)據(jù)轉(zhuǎn)換為高類型數(shù)據(jù)11、從流中獲取數(shù)據(jù)的操作稱為提取操作“”,向流中添加數(shù)據(jù)的操作稱為插入操作“”。12、cin用來處理標準
5、輸入,即鍵盤輸入。cout用來處理標準輸出,即屏幕輸出。cout 表達式 表達式 表達式.13、結(jié)構(gòu)是由不同數(shù)據(jù)類型的數(shù)據(jù)組成的集合體。第三章 函數(shù)1、函數(shù)的調(diào)用l 調(diào)用前先聲明函數(shù):l 若函數(shù)定義在調(diào)用點之前,則無需另外聲明;l 若函數(shù)定義在調(diào)用點之后,則需要在調(diào)用函數(shù)前按如下形式聲明函數(shù)原型:n 類型標識符 被調(diào)用函數(shù)名(含類型說明的形參表);l 調(diào)用形式 n 函數(shù)名(實參列表) l 嵌套調(diào)用l 函數(shù)可以嵌套調(diào)用,但不允許嵌套定義。l 遞歸調(diào)用l 函數(shù)直接或間接調(diào)用自身。2、函數(shù)的參數(shù)傳遞l 在函數(shù)被調(diào)用時才分配形參的存儲單元。 (經(jīng)??歼x擇題)l 實參可以是常量、變量或表達式。l 實參類
6、型必須與形參相符。 (經(jīng)常考選擇題)l 值傳遞是傳遞參數(shù)值,即單向傳遞。 (經(jīng)??歼x擇題)l 引用傳遞可以實現(xiàn)雙向傳遞 (經(jīng)常考選擇題)l 常引用作參數(shù)可以保障實參數(shù)據(jù)的安全3、引用可以作為形參(作為形參不必初始化)void swap(int &a, int &b) .精品.4、有缺省參數(shù)的形參必須在形參列表的最后,也就是說缺省形參值的右面不能有無缺省值的參數(shù)。因為調(diào)用時實參與形參的結(jié)合是從左向右的順序。(要理解,考選擇題)int add(int x, int y = 5, int z = 6);/正確int add(int x = 1, int y = 5, int z);/錯誤int ad
7、d(int x = 1, int y, int z = 6);/錯誤5、函數(shù)重載: c+允許功能相近的函數(shù)在相同的作用域內(nèi)以相同函數(shù)名聲明,從而形成重載。方便使用,便于記憶。要么形參類型不同,要么形參個數(shù)不同(不以形參名來區(qū)分,不以返回值來區(qū)分)6、很多標準c+函數(shù)繼承自標準c,頭文件以c開頭:cmath,cstdlib,cstdio,ctime第四章 類與對象1、抽象的實現(xiàn):通過類的聲明。2、類是具有相同屬性和行為的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和行為兩個主要部分。3、函數(shù)是將邏輯上相關(guān)的語句與數(shù)據(jù)封裝,用于完成特定的功能。而類則是邏輯上相關(guān)的函數(shù)
8、與數(shù)據(jù)封裝,它是對所要處理的問題的描述。(非常重要的兩句話)4、類是一種用戶自定義類型5、在關(guān)鍵字private后面聲明,只允許本類中的函數(shù)訪問,而類外部的任何函數(shù)都不能訪問。如果緊跟在類名稱的后面聲明私有成員,則關(guān)鍵字private可以省略。6、類的對象是該類的某一特定實體,即類類型的變量。(想不到吧)聲明形式: 類名 對象名;例:clock myclock; 類中成員互訪:直接使用成員名 類外訪問:使用“對象名.成員名”方式訪問 public屬性的成員7、在類中說明原型,可在類外給出函數(shù)體實現(xiàn),并在函數(shù)名前使用類名加以限定。也可以直接在類中給出函數(shù)體,形成內(nèi)聯(lián)成員函數(shù)。8、內(nèi)聯(lián)成員函數(shù)(愛
9、考選擇題)為了提高運行時的效率,對于較簡單的函數(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)自動產(chǎn)生出一個隱含的參數(shù)列表為空的構(gòu)造函數(shù)允許為內(nèi)聯(lián)函數(shù)、重載函數(shù)、帶默認形參值的函數(shù)11、拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),其形參為本
10、類的對象引用。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的訪問方式如下: l 如果在x的成員函數(shù)中沒有聲明同名的局部作用域標識符,那么在該函數(shù)內(nèi)可以訪問成員m。l 通過表達式x:m或者x.m訪問。l 通過表達式ptr-m3、不在前述各個作用域中出現(xiàn)的聲明,就具有文件作用域,這樣聲明的標識符其作用域開始于聲明
11、點,結(jié)束于文件尾。4、程序運行到某一點。能夠引用到的標識符,就是該處可見的標識符。精品.5、標識符應(yīng)聲明在先,引用在后。如果某個標識符在外層中聲明,且在內(nèi)層中沒有同一標識符的聲明,則該標識符在內(nèi)層可見。對于兩個嵌套的作用域,如果在內(nèi)層作用域內(nèi)聲明了與外層作用域中同名的標識符,則外層作用域的標識符在內(nèi)層不可見。6、對象從產(chǎn)生到結(jié)束的這段時間就是它的生存期7、在函數(shù)內(nèi)部聲明靜態(tài)生存期對象,要冠以關(guān)鍵字static。8、靜態(tài)數(shù)據(jù)成員用關(guān)鍵字static聲明該類的所有對象維護該成員的同一個拷貝必須在類外定義和初始化,用(:)來指明所屬的類。(重要考點)9、靜態(tài)成員屬于類,非靜態(tài)成員屬于對象。靜態(tài)成員函
12、數(shù)只能引用屬于該類的靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù)。10、“?!俺n愋偷膶ο蟊仨氝M行初始化,而且不能被更新。常對象:必須進行初始化,不能被更新。const 類名 對象名常引用:被引用的對象不能被更新。const 類型說明符 &引用名常數(shù)組:數(shù)組元素不能被更新(下一章介紹)。類型說明符 const 數(shù)組名大小.常指針:指向常量的指針(下一章介紹)。11、一個源程序可以劃分為多個源文件:l 類聲明文件(.h文件)l 類實現(xiàn)文件(.cpp文件)l 類的使用文件(main()所在的.cpp文件)12、編譯預(yù)處理#include 包含指令將一個源文件嵌入到當前源文件中該點處。#include 按標準方式搜索
13、,文件位于c+系統(tǒng)目錄的include子目錄下#include文件名首先在當前目錄中搜索,若沒有,再按標準方式搜索。#define 宏定義指令定義符號常量,很多情況下已被const定義語句取代。精品.定義帶參數(shù)宏,已被內(nèi)聯(lián)函數(shù)取代。#define max(a, b) (a)(b)?(a): (b)#undef刪除由#define定義的宏,使之不再起作用。第六章 數(shù)組 指針與字符串1、數(shù)組元素所屬類的構(gòu)造函數(shù)l 不聲明構(gòu)造函數(shù),則采用缺省構(gòu)造函數(shù)。l 各元素對象的初值要求為相同的值時,可以聲明具有默認形參值的構(gòu)造函數(shù)。l 各元素對象的初值要求為不同的值時,需要聲明帶形參的構(gòu)造函數(shù)。l 當數(shù)組中每
14、一個對象被刪除時,系統(tǒng)都要調(diào)用一次析構(gòu)函數(shù)。2、指針變量的聲明指針:內(nèi)存地址,用于間接訪問內(nèi)存單元指針變量:用于存放地址的變量3、指針變量的賦值運算向指針變量賦的值必須是地址常量或變量,不能是普通整數(shù)。但可以賦值為整數(shù)0,表示空指針。指針的類型是它所指向變量的類型,而不是指針本身數(shù)據(jù)值的類型,任何一個指針本身的數(shù)據(jù)值都是unsigned long int型。4、動態(tài)申請內(nèi)存操作符 newnew 類型名t(初始化參數(shù)列表)功能:在程序執(zhí)行期間,申請用于存放t類型對象的內(nèi)存空間,并依初值列表賦以初值。結(jié)果值:成功:t類型的指針,指向新分配的內(nèi)存;失?。簰伋霎惓!?、釋放內(nèi)存操作符deletedel
15、ete 指針p功能:釋放指針p所指向的內(nèi)存。p必須是new操作的返回值。6、申請和釋放動態(tài)數(shù)組分配:new 類型名t 數(shù)組長度 數(shù)組長度可以是任何表達式,在運行時計算釋放:delete 數(shù)組名p釋放指針p所指向的數(shù)組。p必須是用new分配得到的數(shù)組首地址。7、用字符數(shù)組存儲和處理字符串字符串常量(例:program)各字符連續(xù)、順序存放,每個字符占一個字節(jié),以0結(jié)尾,相當于一個隱含創(chuàng)建的字符常量數(shù)組;“program”出現(xiàn)在表達式中,表示這一char數(shù)組的首地址;首地址可以賦給char常量指針;const char *string1 = program;精品.字符串變量可以顯式創(chuàng)建字符數(shù)組來表
16、示字符串變量,例如,以下三條語句具有等價的作用:char str8 = p, r, o, g, r, a, m, 0 ;char str8 = program;char str = program;8、字符串的輸入/輸出方法逐個字符輸入輸出將整個字符串一次輸入或輸出例:char c =china; coutc;注意輸出字符不包括 0輸出字符串時,輸出項是字符數(shù)組名,輸出時遇到0結(jié)束。輸入多個字符串時,以空格分隔;輸入單個字符串時其中 不能有空格。9、字符串處理函數(shù)strcat(連接),strcpy(復(fù)制),strcmp(比較),strlen(求長度),strlwr(轉(zhuǎn)換為小寫),strupr(
17、轉(zhuǎn)換為大寫)頭文件第七章繼承與派生1、類的繼承與派生保持已有類的特性而構(gòu)造新類的過程稱為繼承。在已有類的基礎(chǔ)上新增自己的特性而產(chǎn)生新類的過程稱為派生。被繼承的已有類稱為基類(或父類)。派生出的新類稱為派生類。2、一個派生類,可以同時有多個基類,這種情況稱為多繼承。一個派生類只有一個直接基類的情況,稱為單繼承。直接參與派生出某類的基類稱為直接基類,基類的基類甚至更高層的基類稱為間接基類。派生類成員是指除了從基類繼承來的所有成員之外,新增加的數(shù)據(jù)和函數(shù)成員。3、派生類生成過程派生新類經(jīng)歷了三個步驟:吸收基類成員吸收基類成員之后,派生類實際上就包含了它的全部基類中除構(gòu)造和析構(gòu)函數(shù)之外的所有成員。改造
18、基類成員精品.如果派生類聲明了一個和某基類成員同名的新成員(如果是成員函數(shù),則參數(shù)表也要相同,參數(shù)不同的情況屬于重載),派生的新成員就覆蓋了外層同名成員添加新的成員派生類新成員的加入是繼承與派生機制的核心,是保證派生類在功能上有所發(fā)展4、保護繼承(protected)基類的public和protected成員都以protected身份出現(xiàn)在派生類中,但基類的private成員不可直接訪問。派生類中的成員函數(shù)可以直接訪問基類中的public和protected成員,但不能直接訪問基類的private成員。通過派生類的對象不能直接訪問基類中的任何成員5、類型兼容規(guī)則一個公有派生類的對象在使用上可以
19、被當作基類的對象,反之則禁止。具體表現(xiàn)在:派生類的對象可以隱含轉(zhuǎn)換為(賦值給)基類對象。派生類的對象可以初始化基類的引用。派生類的指針可以隱含轉(zhuǎn)換為基類的指針。當派生類對象被當成基類對象使用后,通過基類對象名、指針只能使用從基類繼承的成員6、繼承時的構(gòu)造函數(shù)基類的構(gòu)造函數(shù)不被繼承,派生類中需要聲明自己的構(gòu)造函數(shù)。定義構(gòu)造函數(shù)時,只需要對本類中新增成員進行初始化,對繼承來的基類成員的初始化,自動調(diào)用基類構(gòu)造函數(shù)完成。派生類的構(gòu)造函數(shù)需要給基類的構(gòu)造函數(shù)傳遞參數(shù)7、構(gòu)造函數(shù)的執(zhí)行順序(非常重要)l 調(diào)用基類構(gòu)造函數(shù),調(diào)用順序按照它們被繼承時聲明的順序(從左向右)。l 對成員對象進行初始化,初始化順
20、序按照它們在類中聲明的順序。l 執(zhí)行派生類的構(gòu)造函數(shù)體中的內(nèi)容。精品.8、同名隱藏規(guī)則:如要通過派生類對象訪問基類中被隱藏的同名成員,應(yīng)使用基類名限定。第八章 多態(tài)性1、多態(tài)是指操作接口具有表現(xiàn)多種形態(tài)的能力,即能根據(jù)操作環(huán)境的不同采用不同的處理方式。一組具有相同基本語義的方法能在同一接口下為不同的對象服務(wù)。2、運算符重載的規(guī)則c+ 幾乎可以重載全部數(shù)據(jù)的實際需要,對原有運算符進行適當?shù)倪\算符,只能重載c+語言中已有的運算符,不可臆造新的。不能重載的運算符舉例:“.”、“.*”、“:”、“?:”重載之后運算符的優(yōu)先級和結(jié)合性都不會改變。不能改變操作數(shù)個數(shù)。運算符重載是針對新類型的改造。經(jīng)重載的運算符,其操作數(shù)中至少應(yīng)該有一個是自定義類型。兩種重載方式:重載為類的非靜態(tài)成員函數(shù)和重載為非成員函數(shù)。3、綁定: 程序自身彼
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版冷鏈物流車輛租賃合作協(xié)議2篇
- 安徽事業(yè)單位二零二五年度聘用合同范本3篇
- 2025年度個人股權(quán)質(zhì)押股權(quán)分割合同(公平版)4篇
- 2025版房地產(chǎn)開發(fā)商逾期交房違約責(zé)任擔(dān)保合同4篇
- 二零二五版綠色家居墻面涂料采購與應(yīng)用合同3篇
- 二零二五版毛竹林資源承包與加工利用合同2篇
- 2025年度宅基地使用權(quán)流轉(zhuǎn)糾紛處理服務(wù)合同4篇
- 2025年度電子商務(wù)平臺運營維護外包服務(wù)合同協(xié)議2篇
- 2025年度別墅銅門定制與市場推廣活動合同3篇
- 2025年度輪胎銷售區(qū)域保護與市場壟斷協(xié)議4篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運動能力測評規(guī)范
- 高危妊娠的評估和護理
- 2024年山東鐵投集團招聘筆試參考題庫含答案解析
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
- 數(shù)獨題目A4打印版無答案
評論
0/150
提交評論