C程序設(shè)計(jì)基礎(chǔ)第20講習(xí)題課二課件_第1頁
C程序設(shè)計(jì)基礎(chǔ)第20講習(xí)題課二課件_第2頁
C程序設(shè)計(jì)基礎(chǔ)第20講習(xí)題課二課件_第3頁
C程序設(shè)計(jì)基礎(chǔ)第20講習(xí)題課二課件_第4頁
C程序設(shè)計(jì)基礎(chǔ)第20講習(xí)題課二課件_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類C+標(biāo)準(zhǔn)庫中定義了一個string類,封裝了字符串的基本特性和對字符串的各種典型操作。string在string.h只能夠聲明,并要使用名空間std。C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類4.7.1 string類的屬性4.7.2 string類的操作C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類4.7.1 string類的屬性串長(length或size):表示string對象中存放的字符數(shù)。容量(capacity):表示string對象不必增加內(nèi)存可存放的字符個數(shù)。最大長度(maximum size)

2、:表示string對象允許的最大長度。以上3個屬性通過string類的成員函數(shù)獲得:size_type string:length() const;/返回串長size_type string:size() const;/返回串長size_type string:capacity() const;/返回容量size_type string:max_size() const;/返回最大串長C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)【課堂示例(一)】例4-33 測試string對象的特性。#include #include using namespace std;void PrintAttribute(c

3、onst string &str);void main()string s1,s2;PrintAttribute(s1);s1 = My string object;PrintAttribute(s1);s2 = new string;PrintAttribute(s2);void PrintAttribute(const string &str)coutsize:str.size()endl;coutlength:str.length()endl;coutcapacity:str.capacity()endl;coutmax_size:str.max_size()endl;CASE1:eg4

4、_33.cppC+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類4.7.2 string類的操作賦值與連接賦值:string &assign(const string &str);string &operator=(const string &str);連接:string &append(const string &str);string &operator+=(const string &str);舉例:CASE2:eg4_34.cpp比較string對象int compare(const string &str) const;int compare(size_type p0, si

5、ze_type n0, const string& str, size_type pos, size_type n);C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類4.7.2 string類的操作交換string對象void swap(string &str);求子串string substr(size_type pos = 0, size_type n = npos) const;查找子串size_type find(const string& str, size_type pos = 0) const; 舉例:string s1=“C+ program design”;int

6、postion = s1.find(“program”,0);/postion=4串替換string& replace(size_type p0, size_type n0, const string& str); C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)4.7 string類4.7.2 string類的操作插入串string& insert(size_type p0, const string& str); 舉例:CASE3:insertTest.cpp輸入一行字符getline(istream &in, string str, char ch);轉(zhuǎn)換成C語言式的char*字符串C+程序設(shè)計(jì)基礎(chǔ)

7、第20講(習(xí)題課二)【第5章回顧】 結(jié)構(gòu)類型用關(guān)鍵字struct定義,是由不同類型數(shù)據(jù)組成的數(shù)據(jù)類型。 鏈表是一種重要的動態(tài)數(shù)據(jù)結(jié)構(gòu),可以在程序運(yùn)行時創(chuàng)建或撤消數(shù)據(jù)元素。類通常用關(guān)鍵字class定義。類是數(shù)據(jù)成員和成員函數(shù)的封裝。類的實(shí)例稱為對象。 類成員由private, protected, public決定訪問特性。 構(gòu)造函數(shù)在創(chuàng)建和初始化對象時自動調(diào)用,析構(gòu)函數(shù)則在對象作用域結(jié)束時自動調(diào)用。 重載構(gòu)造函數(shù)和復(fù)制構(gòu)造函數(shù)提供了創(chuàng)建對象的不同初始化方式。 靜態(tài)成員是局部于類的成員,提供一種同類對象的共享機(jī)制。友員用關(guān)鍵字friend聲明。友員是對類操作的一種輔助手段,一個類的友員可以訪問該

8、類各種性質(zhì)的成員。C+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)【習(xí)題】P228:5.2(2)考察點(diǎn):結(jié)構(gòu)exercise5_2_2.cppP228:5.2(3)考察點(diǎn):鏈表exercise5_2_3.cppP228:5.2(4)考察點(diǎn):類、對象、訪問對象exercise5_2_4.cppP229:5.2(5)考察點(diǎn):構(gòu)造函數(shù)、析構(gòu)函數(shù)、重載構(gòu)造函數(shù)exercise5_2_5.cppP229:5.2(6)考察點(diǎn):靜態(tài)數(shù)據(jù)成員、靜態(tài)成員函數(shù)exercise5_2_6.cppP230:5.2(8)考察點(diǎn):友元函數(shù)、友元類exercise5_2_8.cppC+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)【課堂練習(xí)】(補(bǔ)充)編寫一程序,設(shè)計(jì)一個棧操作類,包含入棧和出棧成員函數(shù),然后入棧一組數(shù)據(jù),出棧并顯示出棧順序。CASE4:stackTest.cppC+程序設(shè)計(jì)基礎(chǔ)第20講(習(xí)題課二)【課堂練習(xí)】(補(bǔ)充)設(shè)計(jì)一程序,其中有3個類,CBank、ICBank和ABank,分別為中國銀行類、工商銀行類和農(nóng)業(yè)銀行類,每個類都包含有一個私有數(shù)據(jù)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論