




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、會計學(xué)1C語言程序設(shè)計數(shù)組指針與字符串語言程序設(shè)計數(shù)組指針與字符串2 數(shù) 組第1頁/共88頁3 數(shù) 組第2頁/共88頁4 數(shù) 組第3頁/共88頁5 數(shù) 組第4頁/共88頁6 數(shù) 組第5頁/共88頁7 數(shù) 組#includeusing namespace std;class Point public: Point(); Point(); ;Point:Point() coutDefault Constructor called.endl;Point:Point() coutDestructor called.endl;void main() Point A2; 第6頁/共88頁8聲明聲明 例:例
2、:int i;int i; int int * *i_pointer; i_pointer; 概念概念 指針:內(nèi)存地址,用于間接訪問內(nèi)存單元指針:內(nèi)存地址,用于間接訪問內(nèi)存單元 指針變量:用于存放地址的變量指針變量:用于存放地址的變量20003i_pointer*i_pointeri2000引用引用 i_pointer =&i;=&i; i=3; i=3; * *i_pointer=3;i_pointer=3; 指 針第7頁/共88頁9l 語法形式語法形式 存儲類型存儲類型 數(shù)據(jù)類型數(shù)據(jù)類型 * *指針名初始地址;指針名初始地址; 例:例:int a , int a , * *pa=&a;pa
3、=&a;l 注意事項注意事項用變量地址作為初值時,該變量必須在指針初始化之前已說明過,且變量類型應(yīng)與指針類型一致。用變量地址作為初值時,該變量必須在指針初始化之前已說明過,且變量類型應(yīng)與指針類型一致??梢杂靡粋€已賦初值的指針去初始化另一個指針變量??梢杂靡粋€已賦初值的指針去初始化另一個指針變量。不要用一個內(nèi)部不要用一個內(nèi)部autoauto變量去初始化變量去初始化staticstatic指針。指針。 指 針第8頁/共88頁10 指 針第9頁/共88頁11 指 針cout*pv=*(int *)pvendl;第10頁/共88頁12 指 針第11頁/共88頁papa-2pa-1pa+1pa+2pa+
4、3*(pa-2)*pa*(pa+1)*(pa+2)*(pa+3)*(pa-1)short short * *papa13第12頁/共88頁pb-1pbpb+1pb+2*(pb-1)*pb*(pb+1)*(pb+2)long long * *pbpb14第13頁/共88頁15 指 針第14頁/共88頁16 指 針第15頁/共88頁17 指 針第16頁/共88頁18 指 針第17頁/共88頁輸出結(jié)果為:輸出結(jié)果為:Matrix test:Matrix test:1 0 01 0 00 1 00 1 00 0 10 0 119 指 針也可以寫成:也可以寫成: p_lineij或或*(*(p_line
5、+i)+j)*(p_linei+j)第18頁/共88頁20 指 針可以寫成可以寫成:*(p1i+j)或或p1ij第19頁/共88頁21 指 針在在C+中這種賦值是中這種賦值是錯誤錯誤的。的。第20頁/共88頁22 指針與函數(shù)第21頁/共88頁23 指針與函數(shù)第22頁/共88頁24 指針與函數(shù)第23頁/共88頁25 指針與函數(shù)第24頁/共88頁26 指針與函數(shù)第25頁/共88頁27第26頁/共88頁28第27頁/共88頁29 指針與函數(shù)第28頁/共88頁30 指針與函數(shù)第29頁/共88頁31 指針與函數(shù)第30頁/共88頁32 指針與函數(shù)第31頁/共88頁33 指針與函數(shù)第32頁/共88頁34 指
6、針與函數(shù)第33頁/共88頁35 指針與函數(shù)第34頁/共88頁36 指 針第35頁/共88頁37 指 針#includeusing namespace std;void main() int i=13; int const *p=&i; i+; (*p)+; coutiends*pX=X; this-Y=Y; coutGetX()endsGetY()endl; coutGetX()endsGetY(); coutendl; cout(*this).GetX()ends(*this).GetY(); coutendl; this 指 針效果是一樣的,在類的成員函數(shù)中,可以使用效果是一樣的,在類的成
7、員函數(shù)中,可以使用 this 指針訪問類中其它成員函數(shù)。指針訪問類中其它成員函數(shù)。第45頁/共88頁47 指 針第46頁/共88頁48 指 針第47頁/共88頁49 指 針第48頁/共88頁50 指 針void main() Point A(4,5); Point *p1=&A; int Point:*p_num; p_num=&Point:X; coutA.Xends; coutA.*p_numends; coutXends; cout*p_numendl; int (Point:*p_GetX)(); p_GetX=Point:GetX; coutA.GetX()ends; cout(A.
8、*p_GetX)()ends; coutGetX()ends; cout*p_GetX)()endl; 指向數(shù)據(jù)成員的指針指向數(shù)據(jù)成員的指針指向函數(shù)成員的指針指向函數(shù)成員的指針數(shù)據(jù)成員指針賦值數(shù)據(jù)成員指針賦值函數(shù)成員指針賦值函數(shù)成員指針賦值指向?qū)ο蟮闹羔樦赶驅(qū)ο蟮闹羔樀?9頁/共88頁51 指 針第50頁/共88頁52成員 指 針第51頁/共88頁53 指 針P184 例例6-14第52頁/共88頁54 指 針第53頁/共88頁55 指 針P185 例例6-15第54頁/共88頁56 指 針第55頁/共88頁57 動態(tài)存儲分配第56頁/共88頁58動態(tài)申請內(nèi)存操作符動態(tài)申請內(nèi)存操作符 new
9、動態(tài)存儲分配int *point=new int(2);等價于:等價于:int *point;point=new int(2);注:注: 動態(tài)分配了用于存放動態(tài)分配了用于存放int類型數(shù)據(jù)的內(nèi)存空間,同時在此空間中存入數(shù)值類型數(shù)據(jù)的內(nèi)存空間,同時在此空間中存入數(shù)值2。 如果不指定初值可以寫成:如果不指定初值可以寫成:point=new int;或或point =new int();第57頁/共88頁59動態(tài)申請內(nèi)存操作符動態(tài)申請內(nèi)存操作符 new 動態(tài)存儲分配Line *line=new Line;表示:表示: 調(diào)用默認(rèn)的構(gòu)造函數(shù)。調(diào)用默認(rèn)的構(gòu)造函數(shù)。 默認(rèn)的構(gòu)造函數(shù)不存在則調(diào)用帶有默認(rèn)形參值
10、的構(gòu)造函數(shù)。默認(rèn)的構(gòu)造函數(shù)不存在則調(diào)用帶有默認(rèn)形參值的構(gòu)造函數(shù)。 上述兩種函數(shù)都不存在,則創(chuàng)建動態(tài)存儲區(qū)失敗。上述兩種函數(shù)都不存在,則創(chuàng)建動態(tài)存儲區(qū)失敗。第58頁/共88頁60 動態(tài)存儲分配第59頁/共88頁61 動態(tài)存儲分配動態(tài)創(chuàng)建對象動態(tài)創(chuàng)建對象第60頁/共88頁運行結(jié)果:運行結(jié)果:Step One:Step One:Default Constructor called.Default Constructor called.Destructor called.Destructor called.Step Two:Step Two:Constructor called.Constructor
11、 called.Destructor called.Destructor called.62 動態(tài)存儲分配第61頁/共88頁63 動態(tài)存儲分配第62頁/共88頁64 動態(tài)存儲分配第63頁/共88頁65 動態(tài)存儲分配第64頁/共88頁66 動態(tài)存儲分配第65頁/共88頁67 動態(tài)存儲分配第66頁/共88頁68 動態(tài)存儲分配第67頁/共88頁char (*fp)3;fpfp+1fp00fp01fp02fp10fp11fp1269第68頁/共88頁70 動態(tài)存儲分配第69頁/共88頁71 動態(tài)存儲分配第70頁/共88頁72 動態(tài)存儲分配第71頁/共88頁73 動態(tài)存儲分配第72頁/共88頁74淺拷貝
12、與深拷貝第73頁/共88頁75#includeusing namespace std;class Copypublic: Copy() p=new int(2); void setP() *p=14; int show() return *p; private: int *p;void main()Copy c1; Copy c2(c1); coutc1=c1.show()ends; coutc2=c2.show()endl; c1.setP(); coutc1=c1.show()ends; coutc2=c2.show()endl;第74頁/共88頁76#includeusing names
13、pace std;class Copypublic: Copy() p=new int(2); Copy(Copy &c); void setP() *p=14; int show() return *p; private: int *p;Copy:Copy(Copy &c) p=new int(4);void main()Copy c1; Copy c2(c1); coutc1=c1.show()ends; coutc2=c2.show()endl; c1.setP(); coutc1=c1.show()ends; coutc2=c2.show()str1str2str3;運行時輸入數(shù)據(jù): How are you?內(nèi)存中變量狀態(tài)如下: str1: H o w 0 str2: a r e 0 str3: y o u ? 079 字符串第78頁/共88頁若改為: char str13; cinstr;運行時輸入數(shù)據(jù): How are you?內(nèi)存中變量 str 內(nèi)容如下: str: H o w 0 80 字符串第79頁/共88頁81 字符串第80頁/共88頁82 字符串第81頁/共88頁83 字符
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清廉課題申報書怎么寫
- 科研課題申報書抄襲
- 別墅擴建土建合同范本
- 衛(wèi)浴勞動合同范本
- 音樂 課題申報書
- 國家立項課題申報書
- 合同附合同范本
- 單項委托預(yù)定酒店合同范本
- 養(yǎng)殖土雞合同范本
- 中環(huán)租房合同范本
- 感染性腹瀉及其防控措施
- 豐田車系卡羅拉(雙擎)轎車用戶使用手冊【含書簽】
- 商品價格表(全)
- 管理系統(tǒng)中計算機應(yīng)用詳細課件
- 《多維度兒童智力診斷量表》MIDSC的編制
- 慢阻肺從急性加重期到穩(wěn)定期的全程管理
- 2023年上海市普陀區(qū)高考歷史二模試卷及答案解析
- 瑞達峰環(huán)境友好型高附加值關(guān)鍵醫(yī)藥中間體、特色原料藥及 GMP 成品藥(仿制藥與創(chuàng)新藥)規(guī)模化生產(chǎn)項目(一期)環(huán)評報告書
- 嚴(yán)重創(chuàng)傷的急救處理
- GB/T 1228-2006鋼結(jié)構(gòu)用高強度大六角頭螺栓
- 國際商法 吳建斌課件 思考題答案
評論
0/150
提交評論