




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、IC-MSP V1.0第三章第三章對(duì) 象手機(jī)移動(dòng)設(shè)備嵌入式C+ IC-MSP V1.0目標(biāo)q 類對(duì)象q 構(gòu)造函數(shù)q 析構(gòu)函數(shù)q 拷貝構(gòu)造函數(shù)IC-MSP V1.0為了使用類,還必須說(shuō)明類的對(duì)象。在定義類時(shí),系統(tǒng)是不會(huì)給類分配存儲(chǔ)空間的,只有定義類對(duì)象時(shí)才會(huì)給對(duì)象分配相應(yīng)的內(nèi)存空間。對(duì)象的定義格式:對(duì)象的定義格式: ;其中,是待定的對(duì)象所屬的類的名字,即所定義的對(duì)象是該類的對(duì)象。中可以有一個(gè)或多個(gè)對(duì)象名,多個(gè)對(duì)象名用逗號(hào)分隔。在中,可以是一般的對(duì)象名,還可以是指向?qū)ο蟮闹羔樏蛞妹部梢允菍?duì)象數(shù)組名。 類對(duì)象IC-MSP V1.0對(duì)象成員的表示方法對(duì)象成員的表示方法一個(gè)對(duì)象的成員就是該對(duì)象的
2、類所定義的成員。對(duì)象成員有數(shù)據(jù)成員和成員函數(shù)。一般對(duì)象的成員表示如下:.或者.()前者用于表示數(shù)據(jù)成員,后者用于表示成員函數(shù)。這里的“.”是一個(gè)運(yùn)算符,該運(yùn)算符的功能是表示對(duì)象的成員。對(duì)象成員IC-MSP V1.0示例#include class myclasspublic:int data1;void main()myclass object1;object1.data1 = 25;cout n data1的值是 object1.data1n;IC-MSP V1.0指向?qū)ο蟮闹羔樀某蓡T表示如下:-或者-()同樣,前者用于表示數(shù)據(jù)成員,后者用于表示成員函數(shù)。這里的“-”是一個(gè)表示成員的運(yùn)算符,
3、它與前面介紹過(guò)的“.”運(yùn)算符的區(qū)別是:“-”用來(lái)表示指向?qū)ο蟮闹羔樀某蓡T,而“.”用來(lái)表示一般對(duì)象的成員。 對(duì)于數(shù)據(jù)成員和成員函數(shù),以下兩種表示方式是等價(jià)的:-與 (*).對(duì)象指針成員IC-MSP V1.0示例#include class myclasspublic:int data1;void main()myclass objact1;myclass *pObject1 = &objact1;pObject1-data1 = 25;cout n data1的值是 data1n;IC-MSP V1.0 自動(dòng)初始化對(duì)象的特殊的成員函數(shù) 與所屬的類同名 可以在類中聲明并定義構(gòu)造函數(shù),或在類中聲明
4、而在外部定義 構(gòu)造函數(shù)沒(méi)有返回類型 默認(rèn)構(gòu)造函數(shù)是不帶任何參數(shù)的構(gòu)造函數(shù)構(gòu)造函數(shù)IC-MSP V1.0class IMTI public: IMTI(); /構(gòu)造函數(shù); IMTI() : IMTI()() 示例1IC-MSP V1.0示例2class date int month, day, year;public: date() /默認(rèn)構(gòu)造函數(shù) day=1; month=1; year=1999; date(int x) /僅指定日 day=x; month=1; year=1999; date(int x, int y, int z) /指定年月日 day=x; month=y; year
5、=z;IC-MSP V1.0缺省構(gòu)造函數(shù) 缺省構(gòu)造函數(shù)是指不需要用戶指定實(shí)參就能夠被調(diào)用的構(gòu)造函數(shù),這并不意味著它不能接受實(shí)參。只意味著構(gòu)造函數(shù)的每個(gè)參數(shù)都有一個(gè)缺省值與之關(guān)聯(lián)。如:Account:Account() . Stack:Stack( int size = 0 ) . Complex:Complex(double re=0.0,double im=0.0) . IC-MSP V1.0編譯器根據(jù)參數(shù)調(diào)用不同的構(gòu)造函數(shù)date now; date today(4); date all(23,3,1998);構(gòu)造函數(shù)IC-MSP V1.0 在對(duì)象銷毀時(shí)自動(dòng)調(diào)用的成員函數(shù) 編譯器會(huì)生成對(duì)析
6、構(gòu)函數(shù)的調(diào)用 與類同名,但是在函數(shù)名前有個(gè)波浪號(hào) () 析構(gòu)函數(shù)沒(méi)有返回類型,也不帶參數(shù) 一個(gè)類中只可能定義一個(gè)析構(gòu)函數(shù)。析構(gòu)函數(shù)IC-MSP V1.0示例1class imti public: imti ();/析構(gòu)函數(shù)析構(gòu)函數(shù);IMTI() : IMTI()() IC-MSP V1.0示例2#include class Sample public: Sample() x = 0; Sample() cout析構(gòu)函數(shù)被調(diào)用!endl; int x; void Print() coutx = xendl; ; void main() Sample s1; s1.Print(); s1.Samp
7、le(); IC-MSP V1.0缺省析構(gòu)函數(shù) 缺省析構(gòu)函數(shù)的格式如下:: 即為該類的類名。缺省析構(gòu)函數(shù)是一個(gè)空函數(shù) IC-MSP V1.0在下列情況,會(huì)調(diào)用拷貝構(gòu)造函數(shù) 將某個(gè)對(duì)象初始化為類的另一個(gè)對(duì)象時(shí) 將對(duì)象當(dāng)作參數(shù)傳遞給函數(shù)時(shí) 函數(shù)返回對(duì)象時(shí) 拷貝構(gòu)造函數(shù)IC-MSP V1.0如果沒(méi)有定義拷貝構(gòu)造函數(shù),編譯器將自動(dòng)生成一個(gè)自動(dòng)生成的拷貝構(gòu)造函數(shù)只是將對(duì)象內(nèi)容逐個(gè)字節(jié)地copy當(dāng)數(shù)據(jù)成員有指針時(shí),將導(dǎo)致兩個(gè)對(duì)象的指針指向同一個(gè)地址拷貝構(gòu)造函數(shù)IC-MSP V1.0 定義以對(duì)象的引用作為參數(shù)的構(gòu)造函數(shù)X:X(X &ptr)或X:X(const X &ptr) 使用 const 關(guān)鍵字,可以
8、確保拷貝過(guò)程不會(huì)意外地更改源對(duì)象拷貝構(gòu)造函數(shù)IC-MSP V1.0示例1#includeclass TPointpublic:TPoint(int x, int y) m_x = x; m_y = y;TPoint(TPoint & p);TPoint()coutDestructor Called!n;int Xcoord() return m_x;int Ycoord() return m_y;private:int m_x, m_y;IC-MSP V1.0示例1(續(xù))TPoint:TPoint(TPoint & p)m_x = p. m_x;m_y = p. m_y;coutCopy-in
9、itialization Constructor Called.n,;void main()TPoint p1(5, 7);TPoint p2(p1);coutp2 = p2.Xcoord(),p2.Ycoord()endl;IC-MSP V1.0示例2#includeclass TPointpublic:TPoint(int x, int y) m_x = x;m_y = y;coutnow is beginningendl;TPoint(TPoint & p);TPoint()coutDestructor Called!n;int Xcoord() return m_x;int Ycoord() return m_y;private:int m_x, m_y;IC-MSP V1.0示例2(續(xù))TPoint:TPoint(TPoint & p)m_x = p. m_x;m_y = p. m_y;coutCopy-initialization Constructor Called.n,;TPoint F(TPoint q)coutokn;int x, y;x
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具包裝組管理制度
- 家庭打麻將管理制度
- 應(yīng)急值班點(diǎn)管理制度
- 弱電設(shè)備房管理制度
- 征收辦保密管理制度
- 微機(jī)室設(shè)備管理制度
- 心理放松室管理制度
- 快遞小袋子管理制度
- 急性肺栓塞管理制度
- 總工辦崗位管理制度
- 2025年希臘語(yǔ)A2等級(jí)考試官方試卷
- 地理-2025年中考終極押題猜想(全國(guó)卷)
- 2024年廣東省新會(huì)市事業(yè)單位公開(kāi)招聘輔警考試題帶答案分析
- 廣安2025年上半年廣安市岳池縣“小平故里英才”引進(jìn)急需緊缺專業(yè)人才筆試歷年參考題庫(kù)附帶答案詳解
- 派特靈用于女性下生殖道人乳頭瘤病毒感染及相關(guān)疾病專家共識(shí)(2025年版)解讀
- 數(shù)字化轉(zhuǎn)型背景下制造業(yè)產(chǎn)業(yè)鏈協(xié)同創(chuàng)新機(jī)制研究
- 貴州大學(xué)語(yǔ)文試題及答案
- 公司主體變更勞動(dòng)合同補(bǔ)充協(xié)議7篇
- 質(zhì)量月建筑工程質(zhì)量知識(shí)競(jìng)賽考試題庫(kù)500題(含答案)
- 早產(chǎn)兒經(jīng)口喂養(yǎng)臨床實(shí)踐專家共識(shí)(2025)解讀
- 汽車快修連鎖加盟商業(yè)計(jì)劃書
評(píng)論
0/150
提交評(píng)論