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

下載本文檔

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

文檔簡介

1、IC-MSP V1.0第三章第三章對 象手機移動設(shè)備嵌入式C+ IC-MSP V1.0目標(biāo)q 類對象q 構(gòu)造函數(shù)q 析構(gòu)函數(shù)q 拷貝構(gòu)造函數(shù)IC-MSP V1.0為了使用類,還必須說明類的對象。在定義類時,系統(tǒng)是不會給類分配存儲空間的,只有定義類對象時才會給對象分配相應(yīng)的內(nèi)存空間。對象的定義格式:對象的定義格式: ;其中,是待定的對象所屬的類的名字,即所定義的對象是該類的對象。中可以有一個或多個對象名,多個對象名用逗號分隔。在中,可以是一般的對象名,還可以是指向?qū)ο蟮闹羔樏蛞妹?,也可以是對象?shù)組名。 類對象IC-MSP V1.0對象成員的表示方法對象成員的表示方法一個對象的成員就是該對象的

2、類所定義的成員。對象成員有數(shù)據(jù)成員和成員函數(shù)。一般對象的成員表示如下:.或者.()前者用于表示數(shù)據(jù)成員,后者用于表示成員函數(shù)。這里的“.”是一個運算符,該運算符的功能是表示對象的成員。對象成員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ù)。這里的“-”是一個表示成員的運算符,

3、它與前面介紹過的“.”運算符的區(qū)別是:“-”用來表示指向?qū)ο蟮闹羔樀某蓡T,而“.”用來表示一般對象的成員。 對于數(shù)據(jù)成員和成員函數(shù),以下兩種表示方式是等價的:-與 (*).對象指針成員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 自動初始化對象的特殊的成員函數(shù) 與所屬的類同名 可以在類中聲明并定義構(gòu)造函數(shù),或在類中聲明

4、而在外部定義 構(gòu)造函數(shù)沒有返回類型 默認(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ù)是指不需要用戶指定實參就能夠被調(diào)用的構(gòu)造函數(shù),這并不意味著它不能接受實參。只意味著構(gòu)造函數(shù)的每個參數(shù)都有一個缺省值與之關(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 在對象銷毀時自動調(diào)用的成員函數(shù) 編譯器會生成對析

6、構(gòu)函數(shù)的調(diào)用 與類同名,但是在函數(shù)名前有個波浪號 () 析構(gòu)函數(shù)沒有返回類型,也不帶參數(shù) 一個類中只可能定義一個析構(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ù)是一個空函數(shù) IC-MSP V1.0在下列情況,會調(diào)用拷貝構(gòu)造函數(shù) 將某個對象初始化為類的另一個對象時 將對象當(dāng)作參數(shù)傳遞給函數(shù)時 函數(shù)返回對象時 拷貝構(gòu)造函數(shù)IC-MSP V1.0如果沒有定義拷貝構(gòu)造函數(shù),編譯器將自動生成一個自動生成的拷貝構(gòu)造函數(shù)只是將對象內(nèi)容逐個字節(jié)地copy當(dāng)數(shù)據(jù)成員有指針時,將導(dǎo)致兩個對象的指針指向同一個地址拷貝構(gòu)造函數(shù)IC-MSP V1.0 定義以對象的引用作為參數(shù)的構(gòu)造函數(shù)X:X(X &ptr)或X:X(const X &ptr) 使用 const 關(guān)鍵字,可以

8、確保拷貝過程不會意外地更改源對象拷貝構(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論