




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第一章 1. 動態(tài)分配內(nèi)存 使用new關(guān)鍵字:1)為一個對象分配內(nèi)存:指針名 二new類型名;2)為一個對象 數(shù)組分配內(nèi)存:指針名=new類型名長度; 使用delete關(guān)鍵字:1)釋放對象占用內(nèi)存:delete指針名;2)釋放一個對象數(shù) 組占用內(nèi)存:delete 指針名。 注意:new和delete必須成對出現(xiàn),且delete釋放一個對象時,會調(diào)用析構(gòu) 函數(shù)。 2. 引用 數(shù)據(jù)類型 int 則b是對a的引用 3. 什么是左值和右值?左值:必須是能被計算和修改的。右值:右值表達式的值必 須是固定的。 4指向常量的指針 指向常量的指針一般形式:const int *p注意:巾不能作為左 值。 5常
2、量指針 常量指針一般形式:int * const p注意:巾不能作為左值。 6指向常量的常量指針 常量指針一般形式:const int * const p注意:巾不能作為左 值。 7. 泛型算法應(yīng)用于普通數(shù)組 對數(shù)組進行升幕排序,反轉(zhuǎn)數(shù)組內(nèi)容,復(fù)制數(shù)組等要包含 頭文件包 對數(shù)組進行降幕排序和檢索要包含頭文件包(1 )反轉(zhuǎn)數(shù)組內(nèi)容: reverse (a,a+ 數(shù)組長度) (2) 復(fù)制數(shù)組內(nèi)容:copy (a,a +數(shù)組長度,b) (3) reverse_copy (a 5a +數(shù)組長度,b) :reverse_copy是將數(shù)組的內(nèi)容從尾到頭的 逆向復(fù)制 (4) 數(shù)組升幕排序:sort ( a,
3、a+數(shù)組長度) (5) 數(shù)組降幕排序:sort (b,b+數(shù)組長度,greater () (6) 查找數(shù)組內(nèi)容:find (a , a+數(shù)組長度,value) (7) 數(shù)組內(nèi)容的輸出:copy (a , a+ len ,ostreamteratorvType (cout,字符串 ”); 注意:可將ostreamyerator理解為輸出流控制符,vType表示數(shù)組元素的 數(shù)據(jù)類型“字符串”是數(shù)組元素間的間隔。 8. 數(shù)據(jù)的簡單輸入輸出 C+4提高了兩種格式控制方式:一種是使用ios_base類提供的接口;另一種是 稱為操控符的特殊函數(shù),它的特點是可以直接包含在輸出和輸入表達式中,因此更加 方便。
4、 不帶參數(shù)操控符定義在頭文件viostremm中,帶形式的定義在頭文件 中 三是無參數(shù)的操控符函數(shù)不能帶有() 名稱 含義 作用 Dec 設(shè)置轉(zhuǎn)換基數(shù)為十進制 輸入/輸出 oct 設(shè)置轉(zhuǎn)換基數(shù)為八進制 輸入/輸出 Hex 設(shè)置轉(zhuǎn)換基數(shù)轉(zhuǎn)換為十六 進制 輸入/輸出 En dl 輸出一個換行符 輸出 Resetiosflags (long flags) 清除flag標志位 輸出 Setiosflags (long flags) 清除flag標志位 輸出 Setfill( char ch ) 設(shè)置ch為填充字符 輸出 Setprecisi on (int n) 設(shè)置浮點數(shù)輸出精度 輸出 Setw(i
5、 nt width) 設(shè)置輸出字符間字段寬度 輸出 常量及其含義 常量名 含義 los base left 輸出域左對齊 los base right 輸出域右對齊 los base showpo int 浮點數(shù)輸出必須帶個小數(shù)點 los base showpos 在正數(shù)前面加+1 los base scie ntific 使用科學(xué)計數(shù)法表示浮點數(shù) los base fixed 使用定點形式表示浮點數(shù) 第二章 I. str ing 對象 (1) string對象包含于#includevstring頭文件包中 (2) 計算字符串長度的函數(shù):size (),使用方法是 字符串.size () 3)
6、 返回字符串子串的函數(shù):substr (起始位置,結(jié)束位置) 注意:給出的起始位置必須位于字符串中,否則出錯。如果結(jié)束位置大于字符串的長 度,則自動截取到字符串尾部。 4) 字符串查找函數(shù):find (要查找字符串,幵始查找的位置) (5) String類有一對用來指示其元素位置在的基本函數(shù)成員:begin () 和 en d (), Begin ()指示第一個元素,end ()指示最后一個元素之后。如果begin ()不等 于end (),則算法首先作用于begin ()所指元素,然后指向下一個元素,知道 begin ()等于end ()。所以元素存在于半開區(qū)間begin,end)中。 (6
7、) char定義的字符串使用“ 0乃作為結(jié)束標記。String不是。 2. 使用complex對象 (1) 這個對象包含于頭文件#include中。使用方法:complex 對象名(實部值,虛部值)Complex使用成員函數(shù)real ()和imag ()函數(shù) 輸出實部和虛部值 (2) string類型的數(shù)組的swap ()成員函數(shù)可以交換連個數(shù)組分量。 第三章 1. 函數(shù)的參數(shù)及其傳遞方式 (1) 對象作為函數(shù)參數(shù):將對象名作為函數(shù)參數(shù),這種傳遞是單向的,不會 改變實參 的值。 (2) 對象指針作為函數(shù)參數(shù):將對象地址作為函數(shù)參數(shù),這種傳遞會改變實參的值。 (3) 引用作為函數(shù)參數(shù):定義時,形
8、參是別名;調(diào)用時,實參是對象名。實參對象和 形參對象代表同一個對象,所以改變形參對象就是改變實參對象。 2. 使用const保護數(shù)據(jù):使用const修飾符傳遞參數(shù),只能使用參數(shù)而無權(quán)修 改參 數(shù)。這樣能提高系統(tǒng)安全。 3. 函數(shù)返回值 (1) 函數(shù)可以返回一個引用,返回一個引用的主要目的是為了將該函數(shù)用在 賦值運算 符的左邊。函數(shù)原型表示方法:數(shù)據(jù)類型注意:花括號后面的分號必不可少 (2) 類外定義成員函數(shù)一般形式:返回類型 類名:成員函數(shù)(參數(shù)列表) 成員函數(shù)的函數(shù)體 注意:“:”是作用域運算符,其意思表面其后的成員函數(shù)時屬于這個特定 的類。 (3) 數(shù)據(jù)成員的賦值 注意:不能在定義數(shù)據(jù)成員
9、的同時進行賦值,這種做法是錯誤 的。 2. 使用類的對象 (1) 類不僅可以聲明對象,還可以聲明對象的引用和對象的指針,其語法與 基本數(shù)據(jù) 類型一樣。 (2) 定義類對象的指針語法:類名對象指針名; (3) 數(shù)據(jù)封裝這些內(nèi)存塊中不僅存儲數(shù)據(jù),也存儲代碼,這有利于數(shù)據(jù)和功 能安全。 同時這些內(nèi)存塊的結(jié)構(gòu)可被用作樣板產(chǎn)生跟多對象。 3. 構(gòu)造函數(shù) (1) 為了使對象的狀態(tài)確定,必須對其進行正確的初始化。初始化的操作和賦值操作 是不同的。 (2) 默認構(gòu)造函數(shù):類名:類名()注意:默認構(gòu)造函數(shù)是系統(tǒng)自動產(chǎn)生的, 當用戶定義了自己的構(gòu)造函數(shù)系統(tǒng)就 不在提供默認構(gòu)造函數(shù)。 (3) 定義構(gòu)造函數(shù):構(gòu)造函數(shù)
10、的名字和類名相同,并且定義構(gòu)造函數(shù)的時候 不能有返 回值類型,即使是void也不可以。 (4) 類可有多個函數(shù),在類體的聲明形式如下:類名(形參 1,形參2,形參 3形參n);在程序中說明一個對象時,程序自動調(diào)用構(gòu)造函數(shù)來初始化 對象,使 程序為對象自動化分配內(nèi)存。 (5) 程序員不能在程序中顯示的調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)是自動調(diào)用的。 (6) 構(gòu)造函數(shù)和運算符new:運算符new用于建立生存期可控的對象,new返 回 這個對象的指針,因此使用new建立動態(tài)對象的語法和建立動態(tài)變量的情況類似,其 不同點是new和構(gòu)造函數(shù)一同起作用。 (7) 當使用new建立一個動態(tài)對象,new首先分配足夠?qū)ο蟮?/p>
11、內(nèi)存,然后自動構(gòu)造 函數(shù)來初始化這塊內(nèi)存,再返回這個動態(tài)對象的地址。 (8) 構(gòu)造函數(shù)的默認參數(shù):如果程序定義自己的有參構(gòu)造函數(shù),又想使用無 參數(shù)形式 的構(gòu)造函數(shù),那么就是吧構(gòu)造函數(shù)使用默認參數(shù)設(shè)計。 (9) 復(fù)制構(gòu)造函數(shù):引用在類中一個很重要的用途是用在復(fù)制構(gòu)造函數(shù)中。這一類特 殊而且重要的函數(shù)通常用于使自己已有的對象來建立一個新對象。復(fù)制構(gòu)造函數(shù)原型 如下:類名:類名(const類名 A.Set(25,25); B = A 數(shù)組對象:Point A3 使用指針和取址運算符:point *P = (2) 對象可以作為函數(shù)參數(shù),如果參數(shù)傳遞采用傳對象值的方式,在被調(diào)用 函數(shù)中對形參所作的改變不
12、影響調(diào)用函數(shù)中作為實參的對象。如果傳得是對象的引用 (地址)當參數(shù)對象被修改時,相應(yīng)的實參對象也會被修改。C+建議 使用引用,在前面加上Const這樣可以避免修改原來的數(shù)據(jù)成員。 (3) 對象作為函數(shù)參數(shù)時,可以使用對象,對象引用,和對象指針。形式 為: Void print ( Point a ) a.Display;/對象作為參數(shù) Void print (Point / 對象引用作為參數(shù) Void print ( Point *p ) p-Display;/ 對象指針作為參數(shù) (4) 一個對象可以作為另一個類得成員。 8. 類的性質(zhì) (1) 類本身的成員函數(shù)可以使用類所以的成員 (2) 類
13、得對象只能訪問公有成員函數(shù),例如輸出 x只能使用A.Getx (),不能 使用A.x (3) 其他函數(shù)不能使用類的私有成員,也不能使用類得公有成員函數(shù),他們只能通過 類的對象使用類得公有成員函數(shù)。 (4) 雖然一個類可以包含另一個類的對象,但是這個類也只能通過它被包含的這個類 得對象使用那個類的成員函數(shù),通過成員函數(shù)使用數(shù)據(jù)成員,例如:Loc.Set (x,y) (5) 不完全類得聲明:只要當使用類產(chǎn)生對象時,才進行內(nèi)存分配,這種對象的建立 過程稱為實例化。 (6)有時候?qū)㈩愖鳛橐粋€整體使用而不存取取成員。 (7)不完全類的定義沒有類體。不完全類聲明的類不能實例化 (8)類也可以是空的,不包含
14、任何內(nèi)容。 (9)類中的一個成員名可以使用類名和作用域運算符來顯示的指定,這稱為成員名限 定。例如:void MyClass:set (int i) MyClass:number = i/顯示的指定訪問MyClass類中的標示符number 9. 對象,類和消息 (1)接收對象名,調(diào)用操作名和必要的參數(shù)是對象傳達消息的一般組成部分。 第五章 1. 對象成員的初始化 (1)可以在一個類中說明具有某個類的類型的數(shù)據(jù)成員,在 A類中說明對象 成員的一般形式如下: Class A類名1類名2 亠=宀 成員名1 成員名2 O 類名n L . 成員名n r ; A *乙曰扶e土 H 跆 A: A (參數(shù)表
15、0):成員1 (參數(shù)表1),成員2 (參數(shù)列表2),成員3 (成員列表 3) (其他操作。 (2)靜態(tài)成員:簡單成員函數(shù)是指聲明中不含const , volatile , static 關(guān)鍵字的函數(shù),如果類得數(shù)據(jù)成員或成員函數(shù)使用關(guān)鍵字static進行修飾,這樣的成 員稱為靜態(tài)成員或靜態(tài)成員函數(shù),統(tǒng)稱為靜態(tài)成員。 (3)靜態(tài)數(shù)據(jù)成員只能說明一次如果在類中僅對靜態(tài)數(shù)據(jù)成員進行聲明,則 必須在文 件作用域的某個地方進行定義。在進行初始化時,必須進行成員名限定。 例如:int Test :x = 25也可以直接在構(gòu)造函數(shù)中使用類成員限定符對其進行初始化。 例如:Test (int a,int b)
16、Test:x = a; n = b (4)除靜態(tài)數(shù)據(jù)成員的初始化之外,靜態(tài)成員遵循類得其他成員所遵循的訪問限制, 雖然還沒有建立對象,但是靜態(tài)成員已經(jīng)存在。 (5)Static不是函數(shù)類型中的一部分,所以在類聲明之外定義靜態(tài)成員函數(shù) 時,不 使用static o在類中定義的靜態(tài)成員函數(shù)時內(nèi)聯(lián)的。 (6)類的任何成員函數(shù)都可以訪問靜態(tài)成員。因為靜態(tài)成員函數(shù)沒有this指 針,所以靜態(tài)成員函數(shù)只能通過對象名(或指向?qū)ο蟮闹羔槪┰L問該對象的非 靜態(tài)成 員。 2. 友元函數(shù) (1) 友元函數(shù)可以存取私有成員,公有成員和保護成員。其實友元函數(shù)可以是一個類 或函數(shù),尚未定義的類也可以作為友元。 (2) 友
17、元函數(shù)在類中聲明,但是他并不屬于類得成員函數(shù),所以可以在類得 外面想普 通函數(shù)一樣定義這個函數(shù)。 (3) 將成員函數(shù)作為友元:一個類得成員函數(shù)(包括構(gòu)造函數(shù)和析構(gòu)函數(shù))可以通過 使用friend說明為另一個類非友元。 (4) 將一個類說明為另一個類的友元:可以講一個類說明為另一個類得友 元,這時整 個類得成員函數(shù)均具有友元函數(shù)的性能。聲明形式為:friend class類名; 3. Const 對象 (1) 可以造類中使用const關(guān)鍵字定義數(shù)據(jù)成員和成員函數(shù)或修飾一個對象。一個 const對象只能訪問const成員函數(shù)。 (2) 常量成員:常量成員包括常量數(shù)據(jù)成員,靜態(tài)常數(shù)據(jù)成員和常引用。靜
18、 態(tài)常數(shù)據(jù) 成員仍保留靜態(tài)成員函數(shù),需要在類外初始化。常數(shù)據(jù)成員和常引用只能通過初始化 列表來獲得初值。 (3) 常引用作為函數(shù)參數(shù):使用引用作為函數(shù)參數(shù),傳得是地址。有時希望 將參數(shù)的 值傳遞給函數(shù)使用,并不允許函數(shù)改變對象的值,這是可以使用常引用作為參數(shù)。 例如:void Display (const double 3作用域分辨符合成員名操作符 (1) 作用域分辨操作的一般形式如下:類名:標示符 ,5類名“可以是任一類和派生類名,“類標示符”是該類中生命的任一成員。 (2) 派生類支配基類的同名函數(shù) 基類的成員和派生類新增的成員都有類作用域,基類再外層,派生類在內(nèi)層。 如果派生類定義類一個
19、和基類成員函數(shù)同名的新成員函數(shù)(因為參數(shù)不同屬于 重載, 所以這里是指具有相同參數(shù)表的成員函數(shù)),派生類的新成員函數(shù)就覆蓋了外層的同 名成員函數(shù)。在這種情況下,直接使用成員名只能訪問派生類的成員函數(shù),只要使用 作用域分辨,才能訪問基類的同名成員函數(shù)。 (3) 由于二義性,一個類不能從同一個類中直接繼承最多一次。 注意:如果必須這樣,可以使用一個中間類。二義性檢查是在訪問權(quán)限檢查之 前進行 的。因此,成員的訪問權(quán)限不能解決二義性問題那么如何解決二義性 問題,使用作用域分辨符進行存取。 第七章 1類模板 (1) 型從類中分離出來形成的一個通用的數(shù)據(jù)類型 將一些數(shù)據(jù)類 T,并為這個數(shù) 據(jù)類型T設(shè)計一
20、個操作集,在編譯器編譯時與特定的類型聯(lián)系起來。T不是類,天擦 很難過稱之為類模板。 類模板的成分及語法:class在這里是“任意內(nèi)部類 型或用戶定義類 型”,T可能是任意結(jié)構(gòu)或類。類模板的一般聲明形式:template 類模板參數(shù) class類名類體; (3) 類模板的對象:類名v模板實例化參數(shù)類型 對象名(構(gòu)造函數(shù)實參列 表) 類名v模板實例化參數(shù)類型 對象名;、默認或者無參構(gòu)造函數(shù) (4) 在類體外面定義成員函數(shù)時,必須用template重寫類模板聲明。一般形 式如下:template模板參數(shù) 返回類型 類名v模板類型參數(shù) ::成員函數(shù)名(函數(shù)參數(shù)列表)/函 數(shù)體 (5) v模板類型參數(shù)
21、是指template的v內(nèi)使用class (或type name)聲明的 參 數(shù),構(gòu)造函數(shù)和析構(gòu)函數(shù)沒有返回類型。 (6) 類模板的派生和繼承:類模板也可以繼承,繼承的方法與普通的類一 樣。聲明模板繼承之前,必須重新聲明類模板。模板類的基類和派生類很復(fù) 雜。 2向量與泛型算法 (1) 在數(shù)組生存期內(nèi),數(shù)組的大小事不會改變的。向量是一位數(shù)組的類版 本,它與數(shù)組 相似,其中的元素項是連續(xù)存儲的,它他和數(shù)組的不同的是:向量中存儲元素的多少可 以在運行中根據(jù)需要動態(tài)地增長和縮小。向量是類模板,具有成員函數(shù)。 定義向量列表:向量(vector)類模板的定義在圖文件vector中,他定 義四種構(gòu) 造函數(shù),
22、用來定義由各元素組成列表:length表示長度,type表示 數(shù)據(jù)類型,name 表示對象名,定義列表如下: Vectorname;/ 定義 type 的向量表 Vectorname(length);/定義具有l(wèi)ength哥type的向量,元素初始化 為0 Vectorname(length a);/定義具有l(wèi)ength個type的向量元素初始化 為a Vectorvtypename1 (name); 使用已定義的向量 name 定義 namel (3) 不能使用列表初始化向量,但可以先初始化一個數(shù)組,然后把數(shù)組的內(nèi) 容復(fù)制給向量。例如:int IA10 = 1,98,1,20,152,20,48,10,14,30 VectorVB(IA,IA+10) IA是數(shù)組名,代表數(shù)組的起始地址。IA+10是VB的結(jié)束標志位,因為向量自動產(chǎn)生
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲貨架合同范本
- 勞動合同范本醫(yī)療
- 會計臨聘用合同范本
- 展廳工程合同范本
- 出貨協(xié)議合同范本
- 義賣贊助合同范本
- 北京和杭州租房合同范本
- 勞務(wù)用工勞務(wù)合同范本
- 出售高端養(yǎng)老房合同范例
- 書畫拍賣合同范本
- 電子商務(wù)數(shù)據(jù)分析基礎(chǔ)(第二版) 課件 模塊1、2 電子商務(wù)數(shù)據(jù)分析概述、基礎(chǔ)數(shù)據(jù)采集
- YB-T+4190-2018工程用機編鋼絲網(wǎng)及組合體
- 高大模板安全施工施工安全保證措施
- 比亞迪公司應(yīng)收賬款管理的問題及對策分析
- 【高考真題】2024年新課標全國Ⅱ卷高考語文真題試卷(含答案)
- 委托辦理報廢汽車協(xié)議書
- 旅游服務(wù)質(zhì)量評價體系
- 義烏市建筑工程質(zhì)量通病防治措施100條(2022版本)
- 蘇教版(SJ)《四年級下冊數(shù)學(xué)》補充習(xí)題
- 體育足球籃球排球體操教案
- 統(tǒng)編版高中政治必修3必背主觀題
評論
0/150
提交評論