C大學(xué)基礎(chǔ)教程第8章總結(jié)用.ppt_第1頁
C大學(xué)基礎(chǔ)教程第8章總結(jié)用.ppt_第2頁
C大學(xué)基礎(chǔ)教程第8章總結(jié)用.ppt_第3頁
C大學(xué)基礎(chǔ)教程第8章總結(jié)用.ppt_第4頁
C大學(xué)基礎(chǔ)教程第8章總結(jié)用.ppt_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-1-,8.1 類是一種數(shù)據(jù)類型,數(shù)據(jù)類型約束了變量所能參加的運算范圍。例如,整型變量可以進(jìn)行取?!?”運算,而實型變量則不可以進(jìn)行該運算; 數(shù)據(jù)類型限定了變量所能取到的數(shù)值范圍。例如,整型變量可以取值為1,2, 100,,而不能取值3.1415這樣的實型數(shù)。 在C+中,類實際上相當(dāng)于一種用戶自定義的數(shù)據(jù)類型,對象就是該數(shù)據(jù)類型的一個變量; 類-數(shù)據(jù)類型 對象-變量,-2-,8.2 類的定義,一個類表示現(xiàn)實生活中的一類事物,比如“學(xué)生”. 事物有相應(yīng)的特征或?qū)傩?,它們就是類的成員數(shù)據(jù); 事物可能有行為動作,也可能被某些行為動作所操作,這些都用函數(shù)來實現(xiàn),是構(gòu)成類的函數(shù)成員,或者叫成員函數(shù)。,-3-,8.2 類的定義,類的聲明具體說明類的組成,聲明類的語法形式為: class 類的名稱 public: 公有成員數(shù)據(jù); 公有成員函數(shù); protected: 保護(hù)成員數(shù)據(jù); 保護(hù)成員函數(shù); private: 私有成員數(shù)據(jù); 私有成員函數(shù); ;,-4-,其中,“成員”既可以是數(shù)據(jù),也可以是函數(shù)。 成員數(shù)據(jù)的聲明方式與一般變量相同。 成員函數(shù)是描述類的對象可以進(jìn)行的操作,一般在類中聲明原型,在類聲明的外面定義函數(shù)的具體實現(xiàn)。,8.2 類的定義,-5-,類的成員函數(shù)描述的是類的行為或操作。函數(shù)的原型聲明要在類的主體中,原型說明了函數(shù)的參數(shù)表和返回值類型。而函數(shù)的具體實現(xiàn)一般是寫在類聲明之外的。 在類的外部定義成員函數(shù)的語法形式為: 返回值類型 類名:成員函數(shù)名(參數(shù)表) 函數(shù)體 ,8.2 類的定義,-6-,定義一個類后,只是有了描述該類事物的數(shù)據(jù)類型。當(dāng)我們使用“類”這個數(shù)據(jù)類型定義一個變量時,就生成了一個該“類”的對象。對象有時又稱為實例。 例如,Student stu(1,“wang”,M); 定義了一個對象名字為stu的Student類型的對象。,8.3 對象的定義,-7-,定義一個對象和定義一個一般變量相同。 定義變量時要分配存儲空間,同樣,定義一個對象時要分配存儲空間,一個對象所占的內(nèi)存空間是類的數(shù)據(jù)成員所占的空間總和。類的成員函數(shù)存放在代碼區(qū)。 類的成員是抽象的,對象的成員才是具體的。類的數(shù)據(jù)成員都不會有具體的屬性值。只有對象的成員才會有具體的屬性值。,8.3 對象的定義,-8-,8.3 對象的定義,類中成員互訪 直接使用成員名 類外訪問 使用“對象名.成員名”方式訪問 public 屬性的成員,-9-,類的成員函數(shù)可以有多種特殊形式,包括帶默認(rèn)參數(shù)值的成員函數(shù)、內(nèi)聯(lián)成員函數(shù)和重載成員函數(shù)。,8.4 類的成員函數(shù),-10-,class Student public: Student(int pId, char* pName, char pSex); / 構(gòu)造函數(shù) void printStudent(); / printStudent函數(shù)聲明 void setNationality(char* pNationality); / 設(shè)置國籍函數(shù) private: int id; / 定義學(xué)號變量 char* name; / 定義姓名字符指針變量 char sex; / 定義性別變量 char* nationality; / 定義國籍字符指針變量 ;,8.4.1 帶默認(rèn)參數(shù)值的成員函數(shù),-11-,void Student:setNationality(char* pNationality=“China“) nationality = new charstrlen(pNationality)+1; if(nationality != 0) strcpy(nationality,pNationality); 調(diào)用: Student stu(1,“wang“,M); stu.setNationality();,8.4.1 帶默認(rèn)參數(shù)值的成員函數(shù),-12-,如果在類的內(nèi)部定義成員函數(shù)的具體實現(xiàn),則該成員函數(shù)為內(nèi)聯(lián)成員函數(shù)。 函數(shù)定義時沒有任何的附加說明,所以稱為隱式聲明的內(nèi)聯(lián)成員。,8.4.2 內(nèi)聯(lián)成員函數(shù),-13-,8.4.2 內(nèi)聯(lián)成員函數(shù),在類中說明原形,可以在類外給出函數(shù)體實現(xiàn),并在函數(shù)名前使用類名加以限定。也可以直接在類中給出函數(shù)體,形成內(nèi)聯(lián)成員函數(shù)。 在類中聲明內(nèi)聯(lián)成員函數(shù)的方式: 將函數(shù)體放在類的聲明中(隱式)。 使用inline關(guān)鍵字(顯示)。,-14-,class Student public: void printStudent(); / 打印所有信息 / 根據(jù)flag取值打印不同信息 / flag=1, 打印id / flag=2, 打印name / flag=3, 打印sex / flag=4, 打印nationality void printStudent(int flag); private: ;,8.4.3 重載成員函數(shù),-15-,關(guān)鍵字public、protected、private說明類成員的訪問控制屬性。私有(private)成員只允許本類的成員函數(shù)來訪問;公有(public)成員是類對外的接口,在類聲明和類(函數(shù))實現(xiàn)之后,外部對象可以訪問公有成員。保護(hù)型(protected)成員的可訪問性和私有成員的性質(zhì)相似,與繼承有關(guān)。,8.5 類成員的訪問屬性,-16-,關(guān)于訪問控制屬性,注意: 在類聲明中,三種訪問控制屬性,可以按任意次序出現(xiàn),也可以不出現(xiàn)。public等關(guān)鍵字也可以多次出現(xiàn),但是一個成員只能具有一種訪問控制屬性。 如果不寫訪問控制屬性關(guān)鍵字,默認(rèn)的是private。在書寫時通常習(xí)慣將public放在最前面,這樣便于閱讀,因為它們是外部訪問時所要了解的。 一般情況下,一個類的數(shù)據(jù)成員應(yīng)該聲明為私有成員,這樣封裝性較好。一個類應(yīng)該有一些公有的函數(shù)成員,作為對外的接口,否則別的代碼無法訪問類,8.5 類成員的訪問屬性,-17-,8.5 類成員的訪問屬性,-18-,8.6 對象的使用,對象是類的一個具體的實例,類和對象的關(guān)系相當(dāng)于普遍與特殊的關(guān)系。在C+中,類是一個自定義的數(shù)據(jù)類型,對象是該數(shù)據(jù)類型的一個變量。 所以,可以定義一個全局的對象,也可以在函數(shù)體中定義一個局部的對象,或者動態(tài)地從堆中申請空間來創(chuàng)建一個對象,還可以定義對象數(shù)組,以及使用對象作為函數(shù)的參數(shù)與返回值。,-19-,8.6.1 對象指針,聲明對象指針的一般語法形式為: 類名* 對象指針名; 使用對象指針訪問對象的成員,語法形式為: 對象指針名-公有成員; 例如: Clock c; Clock* pc1=new Clock; Clock* pc2=,-20-,8.6.2 this指針,問:一個類中所有對象調(diào)用的成員函數(shù)都執(zhí)行同一段代碼。那么,成員函數(shù)又是怎么識別當(dāng)前是那個對象在訪問呢? 答:this指針指出了成員函數(shù)當(dāng)前所操作的數(shù)據(jù)所屬的對象。不同的對象調(diào)用成員函數(shù)時,this指針將指向不同的對象,也就可以訪問不同對象的數(shù)據(jù)成員。,-21-,8.6.3 對象數(shù)組,對象數(shù)組的元素是對象,不僅具有數(shù)據(jù)成員,而且還有函數(shù)成員,可以通過數(shù)組元素調(diào)用成員函數(shù)。 例:student stu10;,-22-,8.6.4 對象用做函數(shù)的參數(shù)和返回值,可以將對象作為參數(shù)傳遞給一個函數(shù)或從函數(shù)返回一個對象。 直接用對象作為參數(shù),調(diào)用函數(shù)時,進(jìn)行值傳遞,實參的值要復(fù)制給形參,如果類的數(shù)據(jù)成員較多時,需要一一復(fù)制. 但是,這種參數(shù)傳遞方式效率不高,可以使用對象指針或?qū)ο笠梅绞絹韨鬟f函數(shù)參數(shù)。,-23-,8.7 構(gòu)造函數(shù),構(gòu)造函數(shù)的作用是在對象被創(chuàng)建時使用特定的值構(gòu)造對象,或者說將對象初始化為一個特定的狀態(tài)。 在對象創(chuàng)建時由系統(tǒng)自動調(diào)用。 如果程序中未聲明,則系統(tǒng)自動產(chǎn)生出一個缺省形式的構(gòu)造函數(shù) 允許為內(nèi)聯(lián)函數(shù)、重載函數(shù)、帶缺省形參值的函數(shù),-24-,8.7 構(gòu)造函數(shù),class Clock public: Clock (int NewH, int NewM, int NewS);/構(gòu)造函數(shù) Clock () /缺省構(gòu)造函數(shù) void SetTime(int NewH, int NewM, int NewS); void ShowTime( ); private: int Hour,Minute,Second; ;,-25-,構(gòu)造函數(shù)的實現(xiàn): Clock:Clock(int H, int M, int S) Hour=H; Minute=M; Second=S; 建立對象時構(gòu)造函數(shù)的作用: void main( ) Clock c(0,0,0); /隱含調(diào)用構(gòu)造函數(shù),將初始值作為實參。 c.ShowTime( ); ,-26-,8.7 構(gòu)造函數(shù),每個對象區(qū)別于其他對象的地方主要有兩個,外在的區(qū)別就是對象的標(biāo)識符,即對象的名稱,而內(nèi)在的區(qū)別就是對象自身的屬性值,即數(shù)據(jù)成員的值。 在定義一個對象的時候要給它分配存儲空間,也可以同時給它的數(shù)據(jù)成員賦初值,稱為對象的初始化。 C+程序中的對象初始化工作由一個特殊的成員函數(shù)來完成,就是構(gòu)造函數(shù)。 因為不同類型的對象的初始化工作是不一樣的,因此構(gòu)造函數(shù)從屬于某個類的,即每個類都要定義它自己的構(gòu)造函數(shù),它是類的成員函數(shù)。,-27-,定義構(gòu)造函數(shù)的一般形式為: class 類名 public: 類名(形參表); /構(gòu)造函數(shù)的原型 /類的其它成員 ; 類名:類名(形參表) /構(gòu)造函數(shù)的實現(xiàn) /函數(shù)體 ,8.7 構(gòu)造函數(shù),-28-,構(gòu)造函數(shù)的特點是: 構(gòu)造函數(shù)的函數(shù)名與類名相同;而且沒有返回值。 構(gòu)造函數(shù)一定是公有函數(shù)。 作為類的成員函數(shù),構(gòu)造函數(shù)可以直接訪問類的所有數(shù)據(jù)成員。 在類的內(nèi)部定義的構(gòu)造函數(shù)是內(nèi)聯(lián)函數(shù)。構(gòu)造函數(shù)可以帶默認(rèn)形參值,也可以重載。,8.7 構(gòu)造函數(shù),-29-,在聲明類時如果沒有定義類的構(gòu)造函數(shù),編譯系統(tǒng)就會在編譯時自動生成一個默認(rèn)形式的構(gòu)造函數(shù); 默認(rèn)構(gòu)造函數(shù)是不提供參數(shù)的構(gòu)造函數(shù)。,8.7 構(gòu)造函數(shù),-30-,8.8 析構(gòu)函數(shù),完成對象被刪除前的一些清理工作。 在對象的生存期結(jié)束的時刻系統(tǒng)自動調(diào)用它,然后再釋放此對象所屬的空間。 如果程序中未聲明析構(gòu)函數(shù),編譯器將自動產(chǎn)生一個缺省的析構(gòu)函數(shù)。,-31-,構(gòu)造函數(shù)和析構(gòu)函數(shù)舉例,#include class Point public: Point(int xx,int yy); Point( ); /.其它函數(shù)原形 private: int X,int Y; ;,-32-,Point:Point(int xx,int yy) X=xx; Y=yy; Point:Point( ) /.其它函數(shù)的實現(xiàn)略,-33-,與構(gòu)造函數(shù)相反,當(dāng)對象生存期結(jié)束時,需要調(diào)用析構(gòu)函數(shù),釋放對象所占的內(nèi)存空間。 與構(gòu)造函數(shù)一樣,析構(gòu)函數(shù)也是類的一個公有成員函數(shù),它的名稱是在類名前加“”構(gòu)成,沒有返回值,和構(gòu)造函數(shù)不同的是析構(gòu)函數(shù)不接受任何參數(shù),析構(gòu)函數(shù)是不可重載的。 析構(gòu)函數(shù)是在對象生存期即將結(jié)束的時刻由系統(tǒng)自動調(diào)用的。如果程序員沒有定義析構(gòu)函數(shù),系統(tǒng)將自動生成和調(diào)用一個默認(rèn)析構(gòu)函數(shù)。,8.8 析構(gòu)函數(shù),-34-,拷貝構(gòu)造函數(shù)就是函數(shù)的形參是類的對象的引用的構(gòu)造函數(shù)。 通過等于號復(fù)制對象時,系統(tǒng)會自動調(diào)用拷貝構(gòu)造函數(shù)。 如果程序在類定義時沒有顯式定義拷貝構(gòu)造函數(shù),系統(tǒng)也會自動生成一個默認(rèn)的拷貝構(gòu)造函數(shù),把成員值一一復(fù)制。 拷貝構(gòu)造函數(shù)與原來的構(gòu)造函數(shù)實現(xiàn)了函數(shù)的重載。,8.9 拷貝構(gòu)造函數(shù),-35-,以下三種情況系統(tǒng)會自動調(diào)用拷貝構(gòu)造函數(shù): 當(dāng)用類的一個對象去初始化該類的另一個對象時 如果函數(shù)的形參是類的對象,為值傳遞,調(diào)用函數(shù)時,進(jìn)行形參和實參結(jié)合時 如果函數(shù)的返回值是類的對象,函數(shù)執(zhí)行完成返回調(diào)用者時,8.9 拷貝構(gòu)造函數(shù),-36-,拷貝構(gòu)造函數(shù),拷貝構(gòu)造函數(shù)是一種特殊的構(gòu)造函數(shù),其形參為本類的對象引用。 class 類名 public : 類名(形參);/構(gòu)造函數(shù) 類名(類名 &對象名);/拷貝構(gòu)造函數(shù) . ; 類名: 類名(類名 &對象名)/拷貝構(gòu)造函數(shù)的實現(xiàn) 函數(shù)體 ,-37-,例 拷貝構(gòu)造函數(shù)舉例,當(dāng)用類的一個對象去初始化該類的另一個對象時系統(tǒng)自動調(diào)用它實現(xiàn)拷貝賦值。 void main(void) Point A(1,2); Point B(A); /拷貝構(gòu)造函數(shù)被調(diào)用 coutB.GetX( )endl; ,-38-,拷貝構(gòu)造函數(shù)舉例,若函數(shù)的形參為類對象,調(diào)用函數(shù)時,實參賦值給形參,系統(tǒng)自動調(diào)用拷貝構(gòu)造函數(shù)。例如: void fun1(Point p) coutp.GetX( )endl; void main( ) Point A(1,2); fun1(A); /調(diào)用拷貝構(gòu)造函數(shù) ,-39-,拷貝構(gòu)造函數(shù)舉例,當(dāng)函數(shù)的返回值是類對象時,系統(tǒng)自動調(diào)用拷貝構(gòu)造函數(shù)。例如: Point fun2( ) Point A(1,2); return A; /調(diào)用拷貝構(gòu)造函數(shù) void main( ) Point B; B=fun2( ); ,-40-,完成簡單的一一對應(yīng)的復(fù)制的拷貝構(gòu)造函數(shù)稱為淺拷貝。 如果類的數(shù)據(jù)成員包括指針變量,類的構(gòu)造函數(shù)用new運算符為這個指針動態(tài)申請空間。如果通過淺拷貝進(jìn)行了對象的復(fù)制。最后,在退出運行時,程序會報錯。這時需要用“深拷貝”的方式恰當(dāng)定義類的拷貝構(gòu)造函數(shù)。 一般來講,如果一個類需要析構(gòu)函數(shù)來釋放資源,則它也需要定義一個顯式拷貝構(gòu)造函數(shù)來實現(xiàn)深拷貝。,8.10 淺拷貝與深拷貝,-41-,靜態(tài)成員,靜態(tài)數(shù)據(jù)成員 用關(guān)鍵字static聲明 該類的所有對象維護(hù)該成員的同一個拷貝 必須在類外定義和初始化,用(:)來指明所屬的類。 靜態(tài)成員函數(shù) 類外代碼可以使用類名和作用域操作符來調(diào)用靜態(tài)成員函數(shù)。 靜態(tài)成員函數(shù)只能引用屬于該類的靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù)。,-42-,8.11.1 靜態(tài)成員數(shù)據(jù),靜態(tài)成員數(shù)據(jù)是類的數(shù)據(jù)成員的一種特例,采用static關(guān)鍵字來聲明。 類的數(shù)據(jù)成員在類的每一個對象中分別存儲不同的數(shù)值,但是靜態(tài)成員數(shù)據(jù)則不同,它在整個類中只有一個拷貝,由該類的所有對象共同維護(hù)和使用,從而實現(xiàn)了同一類的不同對象之間的數(shù)據(jù)共享。 靜態(tài)數(shù)據(jù)成員具有靜態(tài)生存期。 在類的聲明中只能聲明靜態(tài)成員數(shù)據(jù)的存在。由于類的聲明是抽象的,靜態(tài)成員數(shù)據(jù)的初始化需要在類的外部進(jìn)行,通過類名對它進(jìn)行訪問。,-43-,8.11.2 靜態(tài)成員函數(shù),可以通過定義和使用靜態(tài)成員函數(shù)來訪問靜態(tài)數(shù)據(jù)成員。 所謂靜態(tài)成員函數(shù)就是使用static關(guān)鍵字聲明函數(shù)成員。同靜態(tài)數(shù)據(jù)成員一樣,靜態(tài)成員函數(shù)也屬整個類,由同一個類的所有對象共同維護(hù),為這些對象所共享。,-44-,8.11.2 靜態(tài)成員函數(shù),靜態(tài)成員函數(shù)作為成員函數(shù),它的訪問屬性可以受到類的嚴(yán)格控制。對公有靜態(tài)成員函數(shù),可以通過類名或?qū)ο竺麃碚{(diào)用;而一般的非靜態(tài)公有成員函數(shù)只能通過對象名來調(diào)用。 靜態(tài)成員函數(shù)可以直接訪問該類的靜態(tài)數(shù)據(jù)成員和函數(shù)成員;而訪問非靜態(tài)數(shù)據(jù)成員,必須通過參數(shù)傳遞方式得到對象名,然后通過對象名來訪問。,-45-,8.12 友元,在程序設(shè)計中,將數(shù)據(jù)與操作數(shù)據(jù)的行為進(jìn)行有機(jī)地結(jié)合,這就是封裝。 C+語言提供類實現(xiàn)封裝,類是屬性和操作的結(jié)合體,并且在定義類的屬性和操作時,規(guī)定了它們的可見性。 通過封裝將一部分成員作為類與外部的接口,而將其它的成員隱藏起來,以防外界的干擾和誤操作,使程序的不同模塊之間的相互影響減小到最低限度。,-46-,8.12.1 友元函數(shù),友元函數(shù)是在類聲明中由關(guān)鍵字friend修飾說明的非成員函數(shù),在它的函數(shù)體中能夠通過對象名訪問 private 和 protected成員 作用:增加靈活性,使程序員可以在封裝和快速性方面做合理選擇。 訪問對象中的成員必須通過對象名。,-47-,例. 使用友元函數(shù)計算兩點距離,#include #include class Point /Point類聲明 public: /外部接口 Point(int xx=0, int yy=0) X=xx;Y=yy; int GetX( ) return X; int GetY( ) return Y; friend double Distance(Point ,-48-,double Distance( Point ,-49-,8.12.1 友元類,若一個類為另一個類的友元,則此類的所有成員都能訪問對方類的私有成員。 聲明語法:將友元類名在另一個類中使用friend修飾說明。,-50-,友元類舉例,class A friend class B; public: void Display( ) coutxendl; private: int x; class B public: void Set(int i); void Display( ); private: A a; ;,-51-,void B:Set(int i) a.x=i; void B:Display( ) a.Display( ); ,-52-,關(guān)于友元類,要注意: 友元關(guān)系是不能傳遞的。B類是A類的友元,C類是B類的友元,C類和A類之間,如果沒有聲明,就沒有任何友元關(guān)系,不能進(jìn)行數(shù)據(jù)共享。 友元關(guān)系是單向的。如果聲明B類是A類的友元,B類的成員函數(shù)就可以訪問A類的私有和保護(hù)數(shù)據(jù),但A類的成員函數(shù)卻不能訪問B類的私有和保護(hù)數(shù)據(jù)。,8.13 常對象,-54-,8.13 常對象,定義對象時用const進(jìn)行修飾,稱為常對象,它的數(shù)據(jù)成員值在對象的整個生存期間內(nèi)不能被改變。也就是說,常對象在定義時必須進(jìn)行初始化,而且不能被更新。 使用常量,既實現(xiàn)了數(shù)據(jù)共享、又可以保證數(shù)據(jù)不會被改變。,class A public: A(int i,int j) x=i; y=j; . private: int x,y; ; A const a(3,4); /a是常對象,不能被更新,8.14 常成員,-56-,8.14 常成員,對于類的某個成員函數(shù),使用const關(guān)鍵字修飾,稱為常成員函數(shù)。常對象只能調(diào)用常成員函數(shù),保證常對象的數(shù)據(jù)成員不能被修改。 使用const說明的數(shù)據(jù)成員稱為常數(shù)據(jù)成員。如果在一個類中說明了常數(shù)據(jù)成員,那么任何函數(shù)中都不能對該成員賦值。,常成員函數(shù)說明格式: 類型說明符 函數(shù)名(參數(shù)表)const; 1)const是函數(shù)類型的一個組成部分,因此在實現(xiàn) 部分也要帶const關(guān)鍵字。 2)const關(guān)鍵字可以被用于參與對重載函數(shù)的區(qū)分 3)常對象只能調(diào)用常成員函數(shù);但是普通對象也可以 調(diào)用常成員函數(shù),使用const說明的數(shù)據(jù)成員。格式如下: const 類型說明符 數(shù)據(jù)成員名;,-57-,例 常成員函數(shù)舉例,#include class R public: R(int r1, int r2)R1=r1;R2=r2; void print( ); void print( ) const; private: int R1,R2; ;,-58-,例 常數(shù)據(jù)成員舉例,#include class A public: A(int i); void print( ); const int,-59-,8.14 常成員,常成員函數(shù)的特點: const是函數(shù)類型的一個組成部分,在函數(shù)實現(xiàn)時也要帶const關(guān)鍵字。 常成員函數(shù)不能更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中的非常成員函數(shù)。 常對象只能調(diào)用常成員函數(shù),但是常成員函數(shù)也可以被普通對象來調(diào)用。 const關(guān)鍵字可以被用于參與對重載函數(shù)的區(qū)分。,8.15 組合關(guān)系,-61-,8.15 組合關(guān)系,現(xiàn)實世界中對象與對象之間的整體-部分關(guān)系又稱為組合關(guān)系。生活中有很多這方面的實例。例如,一輛汽車由四個車輪、一個方向盤和一個發(fā)動機(jī)等部件組成,一個桌子有一個桌面和四個桌腿組成。那么,汽車對象和車輪對象、方向盤對象以及發(fā)動機(jī)對象之間就構(gòu)成了組合關(guān)系,桌子對象和桌面對象以及桌腿對象之間也構(gòu)成了組合關(guān)系。,-62-,8.15 組合關(guān)系,-63-,8.15 組合關(guān)系,#include using namespace std; class Tyre / 輪胎類Tyre的定義 public: Tyre() cout“Constructing one Tyre.“endl; private: float maxSpeed; / 最大速度 int loadIndex; / 載重指數(shù) float diameter; / 直徑 char spec20; / 規(guī)格 char company20; / 生產(chǎn)廠家 ;,-64-,8.15 組合關(guān)系,class SteeringWheel / 方向盤類SteeringWheel的定義 public: SteeringWheel() cout“Constructing one SteeringWheel.“endl; private: int color; / 顏色 char material20; / 材質(zhì) char type10; / 類型 char company20; / 生產(chǎn)廠家 ;,-65-,8.15 組合關(guān)系,class Motor / 發(fā)動機(jī)類Motor的定義 public: Motor() cout“Constructing one Motor.“endl; private: float gasDischarge; / 排氣量 float oilConsume; / 耗油量 float power; / 功率 float zip; / 壓縮比 char company20; / 生產(chǎn)廠家 ;,-

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論