手機(jī)移動(dòng)設(shè)備嵌入式C++_第1頁(yè)
手機(jī)移動(dòng)設(shè)備嵌入式C++_第2頁(yè)
手機(jī)移動(dòng)設(shè)備嵌入式C++_第3頁(yè)
手機(jī)移動(dòng)設(shè)備嵌入式C++_第4頁(yè)
手機(jī)移動(dòng)設(shè)備嵌入式C++_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論