版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 國家信息化計算機教育認(rèn)證國家信息化計算機教育認(rèn)證 高等職業(yè)教育電子信息類專業(yè)高等職業(yè)教育電子信息類專業(yè) “雙證課程雙證課程”培養(yǎng)方案配套演示文稿培養(yǎng)方案配套演示文稿 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 endl; 案例分析案例分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int someInt; int int 聲明聲明rIntrInt是對整數(shù)的引用,初始化為引用是對整數(shù)的引用,初始化為引用someIntsomeInt。在。在 此,要求此,要求someIntsomeInt已經(jīng)有聲明或定義,而引用僅僅是它的別已經(jīng)有聲明或定義,而引用僅僅是它的別 名。名。 引用的
2、概念引用的概念 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int intOne=5; cout“intOne:”intOneendl; cout“rInt:”rIntendl; rInt=7; cout“intOne:”intOneendl; cout“rInt:”rIntendl; 程序的運行結(jié)果如下:程序的運行結(jié)果如下: intOne:5 rInt:5 intOne:7 rInt:7 引用的概念引用的概念 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int intOne=5; cout“intOne:”intOneendl; cout“rInt:”rIntendl;
3、cout“ cout“ 程序的運行結(jié)果如下:程序的運行結(jié)果如下: intOne:5 rInt:5 void swap(int,int); void main() void main() int a=3,b=8; int a=3,b=8; cout“a=”a“,b=”bendl; cout“a=”a“,b=”bendl; swap(a,b); swap(a,b); cout“after swappingn”; cout“after swappingn”; cout“a=”a“,b=”bendl; cout“a=”a“,b=”bendl; void swap(int x,int y) void s
4、wap(int x,int y) int temp=x; / int temp=x; /交換兩個形參交換兩個形參 x=y;x=y; y=temp; y=temp; 程序的運行結(jié)果如下:程序的運行結(jié)果如下: a=3,b=8a=3,b=8 after swapping after swapping a=3,b=8 a=3,b=8 按值傳遞按值傳遞 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 ); void main() void main() int a=3,b=8; int a=3,b=8; cout“a=”a“,b=”bendl; cout“a=”a“,b=”bendl; swap(
5、 swap( cout“after swappingn”; cout“after swappingn”; cout“a=”a“,b=”bendl; cout“a=”a“,b=”bendl; void swap(int void swap(int * * x,int x,int * * y) y) int temp= int temp= * * x; / x; /交換兩個形參交換兩個形參 * * x= x= * * y; y; * * y=temp; y=temp; 運行結(jié)果為:運行結(jié)果為: a=3,b=8a=3,b=8 after after swappingswapping a=8,b=3
6、a=8,b=3 地址傳遞地址傳遞 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 void swap(int void main() void main() int x=5; int x=5; int y=6; int y=6; cout“before swap,x:”x“,y:”yendl; cout“before swap,x:”x“,y:”yendl; swap(x,y); swap(x,y); cout“after swap,x:”x“,y:”yendl; cout“after swap,x:”x“,y:”yendl; void swap(int int temp; temp=r
7、x; temp=rx; rx=ry; rx=ry; ry=temp; ry=temp; 運行結(jié)果為:運行結(jié)果為: before before swap,x:5,y:6swap,x:5,y:6 after after swap,x:6,y:5 swap,x:6,y:5 引用傳遞引用傳遞 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 p; p=new double; p=new double; 系統(tǒng)自動根據(jù)系統(tǒng)自動根據(jù)doubledouble類型的空間大小開辟一個內(nèi)存單元,并將地類型的空間大小開辟一個內(nèi)存單元,并將地 址放在指針址放在指針p p中。運算符中。運算符deletedelete操
8、作是釋放操作是釋放newnew請求到的內(nèi)存。例如:請求到的內(nèi)存。例如: delete p; delete p; 2.5 new與與delete 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 ; 定義類定義類 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 / double data_value; /聲明一個私有類型數(shù)據(jù)聲明一個私有類型數(shù)據(jù) public:public: void set_value(double); / void set_value(double); /聲明一個公有類型的成員函數(shù)聲明一個公有類型的成員函數(shù) double get_value(void); /doub
9、le get_value(void); /聲明一個公有類型的成員函數(shù)聲明一個公有類型的成員函數(shù) int get_num(void); /int get_num(void); /聲明一個公有類型的成員函數(shù)聲明一個公有類型的成員函數(shù) sam; /sam; /聲明類對象聲明類對象samsam 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 data_value=v; double counter:get_value(void) /double counter:get_value(void) /成員函數(shù)的定義成員函數(shù)的定義 double dd;double dd; dd=sin
10、(10.0dd=sin(10.0* *data_value);data_value); return(dd);return(dd); int counter:get_num(void) /int counter:get_num(void) /成員函數(shù)的定義成員函數(shù)的定義 int ii;int ii; ii=int(data_value);ii=int(data_value); return(ii);return(ii); main()main() sam.set_value(50.0); sam.set_value(50.0); / /設(shè)置初值設(shè)置初值 coutThe value is“ co
11、utThe value is“ sam.get_value()endl;sam.get_value()endl; coutThe num is“ coutThe num is“ sam.get_num()endl;sam.get_num()endl; return(0); return(0); 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int i; public: public: float f;float f; void fun( );void fun( ); ; example A; /example A; /聲明類對象聲明類對象A A 定義對象定義對象 中國
12、高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 A.fun(); 2 2)在本例中,對象)在本例中,對象A A所能使用的數(shù)據(jù)和函數(shù)只有變量所能使用的數(shù)據(jù)和函數(shù)只有變量f f和和 成員函數(shù)成員函數(shù)funfun。變量變量i i為類為類exampleexample的私有數(shù)據(jù),不能的私有數(shù)據(jù),不能 通過通過A.iA.i使用,如何訪問使用,如何訪問i i,請思考。,請思考。 定義對象定義對象 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 ”return;”。因為構(gòu)造函數(shù)專門用于創(chuàng)建對象和為。因為構(gòu)造函數(shù)專門用于創(chuàng)建對象和為 其初始化,所以它不能隨意被調(diào)用。其初始化,所以它不能隨意被調(diào)用。 3
13、3)如果一個類對象是另一個類的數(shù)據(jù)成員,則在那個類的對象)如果一個類對象是另一個類的數(shù)據(jù)成員,則在那個類的對象 創(chuàng)建所調(diào)用的構(gòu)造函數(shù)中,對該成員創(chuàng)建所調(diào)用的構(gòu)造函數(shù)中,對該成員( (對象對象) )自動調(diào)用其構(gòu)造函數(shù)。自動調(diào)用其構(gòu)造函數(shù)。 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 cout“constructing student.n”; someHours=100; someHours=100; gpa=3.5; gpa=3.5; / /* *Student()Student() cout“destructing student.n”; cout“destructing stude
14、nt.n”; * */ / protected: protected: int someHours; int someHours; float gpa; float gpa; ; ; 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 /*Teacher( ) cout“destructing teacher.n”; */ ; class TutorPair public: TutorPair( ) cout“construcing tutorpair.n”; noMettings=0; /* TutorPair( ) cout“destructing tutorpair.
15、n”; */ protected: Student student; Teacher teacher; int noMettings; /會晤次數(shù)會晤次數(shù) ; 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 cout“back in main.n”; 程序運行結(jié)果如下:程序運行結(jié)果如下: constructing student. constructing teacher. constructing tutorpair. back in main. /*destructing tutorpair. destructing teacher. destructing stu
16、dent.*/ 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int mile,yard; public: public: Distance(); / Distance(); /聲明構(gòu)造函數(shù)聲明構(gòu)造函數(shù) Distance(int,int); /Distance(int,int); /聲明重載的構(gòu)造函數(shù)聲明重載的構(gòu)造函數(shù) void get_value( ); /void get_value( ); /聲明成員函數(shù)聲明成員函數(shù) Distance add_value(Distance); /Distance add_value(Distance); /聲明成員函數(shù)聲明成員函
17、數(shù)add_valueadd_value / /參數(shù)為參數(shù)為DistanceDistance類的對象,返回值也是類的對象,返回值也是DistanceDistance類的對象類的對象 void display( ); /void display( ); /聲明成員函數(shù)聲明成員函數(shù) ; 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 mile=0; yard=0; yard=0; Distance:Distance(int v1,int v2) / Distance:Distance(int v1,int v2) /定義重載的構(gòu)造函數(shù)體定義重載的構(gòu)造函數(shù)體 mile=v1;
18、mile=v1; yard=v2; yard=v2; void Distance:get_value( ) /void Distance:get_value( ) /定義成員函數(shù)體定義成員函數(shù)體 cout“Enter mile:”; coutmile; cinmile; cout“Enter yard:”; coutyard; cinyard; 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 Distance B; B.yard=yard+A.yard; B.yard=yard+A.yard; B.mile=0; B.mile=0; if(B.yard=1760) if
19、(B.yard=1760) B.mile=1; B.mile=1; B.yard=-1760; B.yard=-1760; B.mile+=mile+A.mile; B.mile+=mile+A.mile; return B;return B; void Distance:display( ) /void Distance:display( ) /定義成員函數(shù)體定義成員函數(shù)體 coutmile“miles”yard“yards”endl; coutmile“miles”yard“yards”endl; 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 / Distance
20、 D(10,100); /定義對象定義對象D D,并傳入初值,并傳入初值 Distance F,G; /Distance F,G; /定義對象定義對象F F和和G G F.get_value( ); F.get_value( ); G=D.add_value(F); /G=D+F G=D.add_value(F); /G=D+F cout“The first distance:”; cout“The first distance:”; D.display( ); D.display( ); cout“The second distance:”; cout“The second distance
21、:”; F.display( ); F.display( ); cout“The third distance:”; cout“The third distance:”; G.display( ); G.display( ); 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int a,b,c; public:public: static int s; / static int s; /說明靜態(tài)數(shù)據(jù)成員說明靜態(tài)數(shù)據(jù)成員 static void fun(); /static void fun(); /靜態(tài)成員函數(shù)靜態(tài)成員函數(shù) ; int A:s=0; /int A:s=0
22、; /靜態(tài)數(shù)據(jù)成員在類外聲明,并初始化靜態(tài)數(shù)據(jù)成員在類外聲明,并初始化 靜態(tài)數(shù)據(jù)成員和成員函數(shù)靜態(tài)數(shù)據(jù)成員和成員函數(shù) 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 static int count; public:public: objcount()objcount() count+;count+; int get()int get() return count;return count; 程序的運行結(jié)果如下: 3 4 void main()void main() objcount a1,a2,a3;objcount a1,a2,a3; couta1.get()endl;couta1.
23、get()endl; objcount a4;objcount a4; couta3.getendl;couta3.getendl; 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 A=a; B+=a; B+=a; static void f1(person m);static void f1(person m); private:private: int A; int A; static int B; static int B; ; void person:f1(person m)void person:f1(person m) coutA=m.Aendl; coutA=m.Aendl
24、; coutB=Bendl; coutB=Bendl; int person:B=0;int person:B=0; void main()void main() person p(10),Q(20); person p(10),Q(20); person:f1(p); person:f1(p); person:f1(Q); person:f1(Q); 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 type vars; . . public: public: friend friend 函數(shù)類型函數(shù)類型 函數(shù)名稱函數(shù)名稱(); /(); /友元函數(shù)友元函數(shù) . ; ; 中國高等職業(yè)技術(shù)
25、教育研究會中國高等職業(yè)技術(shù)教育研究會 m_x=m_y=0; CPoint(unsigned x,unsigned y) CPoint(unsigned x,unsigned y) m_x=x;m_x=x; m_y=y;m_y=y; void Print( ) void Print( ) coutPoint(m_x,m_y)endl;coutPoint(m_x,m_y)endl; friend CPoint Inflate(CPoint / friend CPoint Inflate(CPoint /聲明一個友元函數(shù)聲明一個友元函數(shù) private:private: unsigned m_x,m
26、_y; unsigned m_x,m_y; ; 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 ptTemp.m_x+=nOffset; ptTemp.m_y+=nOffset; return ptTemp; void main() CPoint pt(10,20); pt.Print(); pt=Inflate(pt,3); pt.Print(); 例題分析例題分析 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int i; protected: protected: int x; int x; public: public: Parent(); Parent(); void
27、change(); void change(); void display(); void display(); ; Parent:Parent()Parent:Parent() x=0; x=0; i=0; i=0; void Parent:change()void Parent:change() x+; x+; i+; i+; void Parent:display()void Parent:display() cout“x=“xendl; cout“x=“xendl; class Son:public Parentclass Son:public Parent public: publi
28、c: void modify(); void modify(); ; void Son:modify()void Son:modify() x+; x+; 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 int intOne; int int intOne=5; intOne=5; cout“intOne:”intOneendl; cout“intOne:”intOneendl; cout“rInt:”rIntendl; cout“rInt:”rIntendl; cout“dl; cout“ cout“ int intTwo=8; int intTwo=8; rInt=intTwo; r
29、Int=intTwo; cout“intOne:”intOneendl; cout“intOne:”intOneendl; cout“intTwo:”intTwoendl;cout“intTwo:”intTwoendl; cout“rInt:”rIntendl; cout“rInt:”rIntendl; cout“ l; cout“ l; cout“cout“ 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(shù)教育研究會 & CEAC信息化培訓(xùn)認(rèn)證管理辦公室信息化培訓(xùn)認(rèn)證管理辦公室 . 4. 4.類的封裝性是類的封裝性是_。 A. A. 類的私有成員不能被外面的函數(shù)直接訪問類的私有成員不能被外面的函數(shù)直接訪問 B. B. 類的公有成員不能被外面的函數(shù)直接訪問類的公有成員不能被外面的函數(shù)直接訪問 C. C. 類的保護(hù)成員不能被外面的函數(shù)直接訪問類的保護(hù)成員不能被外面的函數(shù)直接訪問 5.5.下列說法正確的是下列說法正確的是_。 A. A. 類的構(gòu)造函數(shù)創(chuàng)建類對象,分配空間類的構(gòu)造函數(shù)創(chuàng)建類對象,分配空間 B. B. 類的構(gòu)造函數(shù)可以有返回類型類的構(gòu)造函數(shù)可以有返回類型 C. C. 類的構(gòu)造函數(shù)可以重載。類的構(gòu)造函數(shù)可以重載。 D. D. 類的構(gòu)造函數(shù)可以在類外部定義類的構(gòu)造函數(shù)可以在類外部定義 作業(yè)及練習(xí)作業(yè)及練習(xí) 中國高等職業(yè)技術(shù)教育研究會中國高等職業(yè)技術(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高效節(jié)能大棚租賃與環(huán)保技術(shù)合作合同4篇
- 2025年度木屑再生利用項目承包合同范本4篇
- 二零二五年度文化產(chǎn)業(yè)園區(qū)開發(fā)經(jīng)營權(quán)轉(zhuǎn)讓合同4篇
- 2025年度出租車經(jīng)營權(quán)競租與運營風(fēng)險控制合同3篇
- 個人借款短期周轉(zhuǎn)合同2024年度還款協(xié)議2篇
- 2025版大學(xué)社團(tuán)活動場地租賃服務(wù)合同4篇
- 2025年汽車維修技術(shù)培訓(xùn)學(xué)院股權(quán)轉(zhuǎn)讓與人才培養(yǎng)合同4篇
- 2025版農(nóng)業(yè)產(chǎn)業(yè)化項目借款合同樣本3篇
- 常州森林防火隔離帶2025年度建設(shè)合同
- 二級建造師聘用合同書(2024版)
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測 (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點句子
- 公司結(jié)算資金管理制度
- 2024年江蘇揚州市邗城文化旅游發(fā)展有限公司招聘筆試參考題庫含答案解析
- 小學(xué)六年級數(shù)學(xué)100道題解分?jǐn)?shù)方程
- 社區(qū)獲得性肺炎護(hù)理查房內(nèi)科
- 淺談提高中學(xué)生歷史學(xué)習(xí)興趣的策略
- 新版藥品批發(fā)企業(yè)質(zhì)量管理體系文件大全
- 項目管理實施規(guī)劃-無錫萬象城
- 浙大一院之江院區(qū)就診指南
評論
0/150
提交評論