面向?qū)ο蟮谖逭聀pt課件_第1頁
面向?qū)ο蟮谖逭聀pt課件_第2頁
面向?qū)ο蟮谖逭聀pt課件_第3頁
面向?qū)ο蟮谖逭聀pt課件_第4頁
面向?qū)ο蟮谖逭聀pt課件_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第5 5章章 多態(tài)性與虛函數(shù)多態(tài)性與虛函數(shù)n本章的學(xué)習(xí)目的本章的學(xué)習(xí)目的n 客觀世界中的事物多種多樣、千姿百客觀世界中的事物多種多樣、千姿百態(tài),各類事物都有其特殊性,這就是客觀世態(tài),各類事物都有其特殊性,這就是客觀世界的多態(tài)性。為了正確反映客觀世界的多態(tài)界的多態(tài)性。為了正確反映客觀世界的多態(tài)性,面向?qū)ο蠹夹g(shù)中也提供了多態(tài)性機(jī)制,性,面向?qū)ο蠹夹g(shù)中也提供了多態(tài)性機(jī)制,使多態(tài)性成為了面向?qū)ο蟪绦蛟O(shè)計的重要特使多態(tài)性成為了面向?qū)ο蟪绦蛟O(shè)計的重要特征。所謂多態(tài)性就是在類層次構(gòu)造的一樣類征。所謂多態(tài)性就是在類層次構(gòu)造的一樣類或不同類中,可用一樣的函數(shù)名實現(xiàn)功能不或不同類中,可用一樣的函數(shù)名實現(xiàn)功能不同

2、的操作。多態(tài)性的運(yùn)用使編程更為簡捷、同的操作。多態(tài)性的運(yùn)用使編程更為簡捷、便利,它為程序的模塊化設(shè)計提供了又一支便利,它為程序的模塊化設(shè)計提供了又一支持手段。持手段。n 因此,在學(xué)過面向?qū)ο蟮姆庋b性和承繼性因此,在學(xué)過面向?qū)ο蟮姆庋b性和承繼性編程機(jī)制之后,我們還應(yīng)該了解和掌握多態(tài)編程機(jī)制之后,我們還應(yīng)該了解和掌握多態(tài)性編程機(jī)制,以提高我們的面向?qū)ο缶幊滩判跃幊虣C(jī)制,以提高我們的面向?qū)ο缶幊滩鸥?。干。n本章的學(xué)習(xí)內(nèi)容本章的學(xué)習(xí)內(nèi)容n多態(tài)性的概念多態(tài)性的概念n靜態(tài)聯(lián)編和動態(tài)聯(lián)編的概念靜態(tài)聯(lián)編和動態(tài)聯(lián)編的概念n虛函數(shù)的概念虛函數(shù)的概念n籠統(tǒng)類的概念籠統(tǒng)類的概念 5.1 多態(tài)性的概念多態(tài)性的概念 多態(tài)

3、性是指在類層次構(gòu)造的一樣類或不同類中多態(tài)性是指在類層次構(gòu)造的一樣類或不同類中,可用一可用一樣的函數(shù)名實現(xiàn)功能不同的操作,從而可以運(yùn)用一樣的函數(shù)名實現(xiàn)功能不同的操作,從而可以運(yùn)用一樣的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù),樣的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù),實現(xiàn)不同情況下的不同操作。如以下圖所示。實現(xiàn)不同情況下的不同操作。如以下圖所示。nC+C+的多態(tài)性可使同一條的多態(tài)性可使同一條音訊,被不同類型的對象音訊,被不同類型的對象接納時將產(chǎn)生不同的行為。接納時將產(chǎn)生不同的行為。n多態(tài)性是實現(xiàn)多態(tài)性是實現(xiàn)“一種接口,一種接口,多種方法多種方法的技術(shù)。這里的技術(shù)。這里的的“一種接口一種接口是

4、指一樣是指一樣函數(shù)名和參數(shù)表,而函數(shù)名和參數(shù)表,而“多多種方法種方法是指多種函數(shù)實是指多種函數(shù)實現(xiàn),實現(xiàn)類似但不完全一現(xiàn),實現(xiàn)類似但不完全一樣的功能。樣的功能。nC+C+支持的多態(tài)可以分為兩種類型:支持的多態(tài)可以分為兩種類型:n編譯時多態(tài):在同一個類或不同類中可用一編譯時多態(tài):在同一個類或不同類中可用一樣的函數(shù)名和不同的參數(shù)表來實現(xiàn)不同的功樣的函數(shù)名和不同的參數(shù)表來實現(xiàn)不同的功能操作,編譯系統(tǒng)在編譯階段就可以根據(jù)調(diào)能操作,編譯系統(tǒng)在編譯階段就可以根據(jù)調(diào)用函數(shù)的參數(shù)表來確定調(diào)用哪個同名函數(shù)。用函數(shù)的參數(shù)表來確定調(diào)用哪個同名函數(shù)。class pointer int x,y; public: poi

5、nter(int cx,int cy) x=cx; y=cy; pointer(const pointer &p) x=p.x; y=p.y; ; ;void main() pointer ob1(40,50); pointer ob2=ob1; 運(yùn)轉(zhuǎn)時多態(tài):在類的承繼層次構(gòu)造中,不同層次運(yùn)轉(zhuǎn)時多態(tài):在類的承繼層次構(gòu)造中,不同層次的類中能夠具有同名但實現(xiàn)不同的函數(shù),需求在的類中能夠具有同名但實現(xiàn)不同的函數(shù),需求在運(yùn)轉(zhuǎn)階段才干根據(jù)對象所屬的層次來確定調(diào)用哪運(yùn)轉(zhuǎn)階段才干根據(jù)對象所屬的層次來確定調(diào)用哪個類中的同名函數(shù)。個類中的同名函數(shù)。5.2 聯(lián)編聯(lián)編多態(tài)性的實現(xiàn)過程中,把一個音訊函數(shù)如多態(tài)

6、性的實現(xiàn)過程中,把一個音訊函數(shù)如student1.display()與一個對象的詳細(xì)函數(shù)與一個對象的詳細(xì)函數(shù)體相聯(lián)絡(luò)的過程叫做聯(lián)編體相聯(lián)絡(luò)的過程叫做聯(lián)編binding。按照聯(lián)編時所處階段的不同,可以把聯(lián)編分為靜按照聯(lián)編時所處階段的不同,可以把聯(lián)編分為靜態(tài)聯(lián)編和動態(tài)聯(lián)編,這兩種聯(lián)編過程分別對應(yīng)態(tài)聯(lián)編和動態(tài)聯(lián)編,這兩種聯(lián)編過程分別對應(yīng)著多態(tài)性的兩種實現(xiàn)方式。著多態(tài)性的兩種實現(xiàn)方式。5.2.1 靜態(tài)聯(lián)編靜態(tài)聯(lián)編 在編譯階段由編譯系統(tǒng)根據(jù)調(diào)用函數(shù)的操作參在編譯階段由編譯系統(tǒng)根據(jù)調(diào)用函數(shù)的操作參數(shù)來確定調(diào)用哪個同名函數(shù)數(shù)來確定調(diào)用哪個同名函數(shù),并將函數(shù)調(diào)用與并將函數(shù)調(diào)用與該函數(shù)體銜接起來該函數(shù)體銜接起來

7、.例例5-1 靜態(tài)聯(lián)編靜態(tài)聯(lián)編 #include class Student public: void print() cout“A studentendl; void print(int a) coutaendl; ;class GStudent:public Student public: void print() cout“A graduate studentprint(); ps=&s2; ps-print(); A student A graduate student A student A student A student5.2.2 動態(tài)聯(lián)編動態(tài)聯(lián)編只需在運(yùn)轉(zhuǎn)程序時才干根

8、據(jù)函數(shù)調(diào)用指令來確只需在運(yùn)轉(zhuǎn)程序時才干根據(jù)函數(shù)調(diào)用指令來確定將要調(diào)用的函數(shù),這種在運(yùn)轉(zhuǎn)階段進(jìn)展的定將要調(diào)用的函數(shù),這種在運(yùn)轉(zhuǎn)階段進(jìn)展的聯(lián)編稱為動態(tài)聯(lián)編。例如,下例中用指針調(diào)聯(lián)編稱為動態(tài)聯(lián)編。例如,下例中用指針調(diào)用同名函數(shù)。用同名函數(shù)。n動態(tài)聯(lián)編的優(yōu)點是提供了更好的編程靈敏動態(tài)聯(lián)編的優(yōu)點是提供了更好的編程靈敏性、問題的籠統(tǒng)性和程序的易維護(hù)性,缺性、問題的籠統(tǒng)性和程序的易維護(hù)性,缺陷是與靜態(tài)聯(lián)編相比,函數(shù)調(diào)用速度慢。陷是與靜態(tài)聯(lián)編相比,函數(shù)調(diào)用速度慢。 如如 p-print(); n問題的籠統(tǒng)性:在實踐運(yùn)用中,編程人員問題的籠統(tǒng)性:在實踐運(yùn)用中,編程人員不用過多地思索類的層次關(guān)系,無須顯式不用過多

9、地思索類的層次關(guān)系,無須顯式地寫出虛函數(shù)的途徑,只需將對象指針指地寫出虛函數(shù)的途徑,只需將對象指針指向相應(yīng)的派生類對象或援用相應(yīng)的對象,向相應(yīng)的派生類對象或援用相應(yīng)的對象,經(jīng)過動態(tài)聯(lián)編就可以對音訊做出正確的反經(jīng)過動態(tài)聯(lián)編就可以對音訊做出正確的反響。響。 如如 p-print(); 5.3 虛函數(shù)虛函數(shù) 虛函數(shù)是動態(tài)聯(lián)編的根底?;惖奶摵瘮?shù)經(jīng)過派生之虛函數(shù)是動態(tài)聯(lián)編的根底?;惖奶摵瘮?shù)經(jīng)過派生之后,在類族中可以實現(xiàn)運(yùn)轉(zhuǎn)時的多態(tài)性。后,在類族中可以實現(xiàn)運(yùn)轉(zhuǎn)時的多態(tài)性。 5.3.1 虛函數(shù)的聲明虛函數(shù)的聲明 虛函數(shù)是一個在某基類中用虛函數(shù)是一個在某基類中用virtual聲明的聲明的,并并在一個或多個

10、派生類中被重新定義的成員函數(shù)。在一個或多個派生類中被重新定義的成員函數(shù)。聲明虛函數(shù)的格式如下:聲明虛函數(shù)的格式如下: virtual (); 一個函數(shù)一旦聲明為虛函數(shù),那么在每層派生一個函數(shù)一旦聲明為虛函數(shù),那么在每層派生類中,該函數(shù)都堅持虛函數(shù)特性。因此,在派生類中,該函數(shù)都堅持虛函數(shù)特性。因此,在派生類中重新定義該函數(shù)時,可以省略關(guān)鍵字類中重新定義該函數(shù)時,可以省略關(guān)鍵字virtual。但為了程序的可讀性,往往不省略。但為了程序的可讀性,往往不省略。5.3.2 虛函數(shù)的運(yùn)用虛函數(shù)的運(yùn)用假設(shè)某類中的一個成員函數(shù)被闡明為虛函假設(shè)某類中的一個成員函數(shù)被闡明為虛函數(shù),這就意味著該成員函數(shù)在派生類中

11、數(shù),這就意味著該成員函數(shù)在派生類中能夠有不同的函數(shù)實現(xiàn)。能夠有不同的函數(shù)實現(xiàn)。當(dāng)運(yùn)用對象指針或?qū)ο笤谜{(diào)用虛函數(shù)時,當(dāng)運(yùn)用對象指針或?qū)ο笤谜{(diào)用虛函數(shù)時,就可實現(xiàn)動態(tài)聯(lián)編,即在運(yùn)轉(zhuǎn)時進(jìn)展關(guān)就可實現(xiàn)動態(tài)聯(lián)編,即在運(yùn)轉(zhuǎn)時進(jìn)展關(guān)聯(lián)或綁定。聯(lián)或綁定。定義一個基類的對象指針就可以指向不同定義一個基類的對象指針就可以指向不同派生類的對象派生類的對象,來調(diào)用不同派生類的虛函來調(diào)用不同派生類的虛函數(shù)數(shù);(2)只需經(jīng)過對象指針或?qū)ο笤脕碇恍杞?jīng)過對象指針或?qū)ο笤脕碚{(diào)用虛函數(shù)調(diào)用虛函數(shù),才干實現(xiàn)動態(tài)聯(lián)編。假設(shè)采才干實現(xiàn)動態(tài)聯(lián)編。假設(shè)采用對象來調(diào)用虛函數(shù)用對象來調(diào)用虛函數(shù),那么采用的依然是那么采用的依然是靜態(tài)聯(lián)編

12、方式。靜態(tài)聯(lián)編方式。例例5-2 靜態(tài)聯(lián)編和動態(tài)聯(lián)編靜態(tài)聯(lián)編和動態(tài)聯(lián)編 #include class Student public: virtual void print() cout“A studentendl; ;class GStudent:public Student public: virtual void print() cout“A graduate student print(); ps=&s2; ps- print(); A student A graduate studentA studentA studentA graduate student運(yùn)用虛函數(shù)時應(yīng)留意:運(yùn)

13、用虛函數(shù)時應(yīng)留意:1 1在派生類中重新定義虛函數(shù)時,必需保證函在派生類中重新定義虛函數(shù)時,必需保證函數(shù)的前往值類型和參數(shù)與基類中的聲明完全一致。數(shù)的前往值類型和參數(shù)與基類中的聲明完全一致。在類的成員函數(shù)被聲明為虛函數(shù)后,派生類就具在類的成員函數(shù)被聲明為虛函數(shù)后,派生類就具有多態(tài)性。例如:有多態(tài)性。例如:#include #include class Student class Student public: public: virtual void print() cout“A virtual void print() cout“A studentstudentendl; endl; ; ;c

14、lass GStudent:public Studentclass GStudent:public Student public: public: virtual void print() cout“A virtual void print() cout“A graduate studentgraduate studentendl; ;endl; ;2 2普通來說,可將類族中的具有共性的普通來說,可將類族中的具有共性的成員函數(shù)聲明為虛函數(shù),而具有個性的函成員函數(shù)聲明為虛函數(shù),而具有個性的函數(shù)沒有必要聲明為虛函數(shù)。假設(shè)在派生類數(shù)沒有必要聲明為虛函數(shù)。假設(shè)在派生類中沒有重新定義虛函數(shù),那么派生類的

15、對中沒有重新定義虛函數(shù),那么派生類的對象將運(yùn)用基類的虛函數(shù)代碼。象將運(yùn)用基類的虛函數(shù)代碼。 靜態(tài)成員函數(shù)不能聲明為虛函數(shù)。靜態(tài)成員函數(shù)不能聲明為虛函數(shù)。 內(nèi)聯(lián)成員函數(shù)不能聲明為虛函數(shù)。由于對內(nèi)聯(lián)成員函數(shù)不能聲明為虛函數(shù)。由于對于內(nèi)聯(lián)成員函數(shù),在程序編譯時,編譯系于內(nèi)聯(lián)成員函數(shù),在程序編譯時,編譯系統(tǒng)就應(yīng)明確用哪個函數(shù)體交換內(nèi)聯(lián)函數(shù)調(diào)統(tǒng)就應(yīng)明確用哪個函數(shù)體交換內(nèi)聯(lián)函數(shù)調(diào)用的地方,而不能等到運(yùn)轉(zhuǎn)時再確定調(diào)用用的地方,而不能等到運(yùn)轉(zhuǎn)時再確定調(diào)用哪個函數(shù)。哪個函數(shù)。構(gòu)造函數(shù)不能是虛函數(shù)。由于構(gòu)造函數(shù)是在構(gòu)造函數(shù)不能是虛函數(shù)。由于構(gòu)造函數(shù)是在對象產(chǎn)生之前運(yùn)轉(zhuǎn)的,而虛函數(shù)是運(yùn)用已有對象產(chǎn)生之前運(yùn)轉(zhuǎn)的,而虛

16、函數(shù)是運(yùn)用已有對象或其指針來調(diào)用的函數(shù)。所以,將構(gòu)造對象或其指針來調(diào)用的函數(shù)。所以,將構(gòu)造函數(shù)聲明為虛函數(shù)是沒有意義的。函數(shù)聲明為虛函數(shù)是沒有意義的。析構(gòu)函數(shù)可以是虛函數(shù),且往往被定義成虛析構(gòu)函數(shù)可以是虛函數(shù),且往往被定義成虛函數(shù)。由于實施多態(tài)時是經(jīng)過將基類的指針函數(shù)。由于實施多態(tài)時是經(jīng)過將基類的指針指向派生類的對象來完成的,假設(shè)要刪除該指向派生類的對象來完成的,假設(shè)要刪除該指針?biāo)傅呐缮悓ο髸r就應(yīng)該調(diào)用該指針指針?biāo)傅呐缮悓ο髸r就應(yīng)該調(diào)用該指針?biāo)赶虻呐缮惖奈鰳?gòu)函數(shù),然后派生類的所指向的派生類的析構(gòu)函數(shù),然后派生類的析構(gòu)函數(shù)又調(diào)用基類的析構(gòu)函數(shù),這樣整個析構(gòu)函數(shù)又調(diào)用基類的析構(gòu)函數(shù),這

17、樣整個派生類的對象才干被完全釋放。派生類的對象才干被完全釋放。5.4 籠統(tǒng)類籠統(tǒng)類有時在聲明一個基類時無法為虛函數(shù)定義其詳細(xì)有時在聲明一個基類時無法為虛函數(shù)定義其詳細(xì)實現(xiàn),這時可以將其聲明為一個純虛函數(shù)。包實現(xiàn),這時可以將其聲明為一個純虛函數(shù)。包含純虛函數(shù)的類稱為籠統(tǒng)類。例如:含純虛函數(shù)的類稱為籠統(tǒng)類。例如:class Shapes protected: int x,y; public: void setvalue(int d,int w=0) x=d; y=w; virtual void disp()=0; ;class Shapes protected: int x,y; public:

18、void setvalue(int d,int w=0) x=d; y=w; virtual void disp()=0; ;籠統(tǒng)類是一種特殊的類,專門作為基類派生新類,本身籠統(tǒng)類是一種特殊的類,專門作為基類派生新類,本身無法實例化,也就是無法定義籠統(tǒng)類的對象,它為一無法實例化,也就是無法定義籠統(tǒng)類的對象,它為一類族提供一致的操作界面。類族提供一致的操作界面?;\統(tǒng)類是為了籠統(tǒng)和設(shè)計的目的而建立的,可以說,建籠統(tǒng)類是為了籠統(tǒng)和設(shè)計的目的而建立的,可以說,建立籠統(tǒng)類,就是為了經(jīng)過它多態(tài)地運(yùn)用其中的成員函立籠統(tǒng)類,就是為了經(jīng)過它多態(tài)地運(yùn)用其中的成員函數(shù)。數(shù)?;\統(tǒng)類處于類層次的上層,由它派生新類,然后

19、再實例籠統(tǒng)類處于類層次的上層,由它派生新類,然后再實例化。化。 5.4.1 純虛函數(shù)的定義純虛函數(shù)的定義在在C+中,一個僅為多態(tài)機(jī)制提供一個接口而中,一個僅為多態(tài)機(jī)制提供一個接口而沒有任何實體定義的函數(shù),被稱為純虛函數(shù)。沒有任何實體定義的函數(shù),被稱為純虛函數(shù)。聲明純虛函數(shù)的普通格式如下:聲明純虛函數(shù)的普通格式如下:籠統(tǒng)類只能用作其他類的基類,不能用來建立籠籠統(tǒng)類只能用作其他類的基類,不能用來建立籠統(tǒng)類對象?;\統(tǒng)類不能用作參數(shù)類型、函數(shù)前統(tǒng)類對象。籠統(tǒng)類不能用作參數(shù)類型、函數(shù)前往值類型或顯式轉(zhuǎn)換的類型,但可以闡明或定往值類型或顯式轉(zhuǎn)換的類型,但可以闡明或定義籠統(tǒng)類的指針或援用,該指針或援用可以指

20、義籠統(tǒng)類的指針或援用,該指針或援用可以指向籠統(tǒng)類的派生類對象,進(jìn)而實現(xiàn)多態(tài)性。向籠統(tǒng)類的派生類對象,進(jìn)而實現(xiàn)多態(tài)性。virtual virtual ()=0;)=0; 例例5-3籠統(tǒng)類的定義和運(yùn)用籠統(tǒng)類的定義和運(yùn)用class Shapes protected: int x,y; public: void setvalue(int d,int w=0) x=d; y=w; virtual void disp()=0; ; class Square:public Shapes public: void disp() cout“area of rectangle:x*ysetvalue(10,5);

21、 ptr-disp(); 程序的運(yùn)轉(zhuǎn)結(jié)果為程序的運(yùn)轉(zhuǎn)結(jié)果為: area of rectangular:50習(xí)題和實驗題習(xí)題和實驗題工程設(shè)計工程設(shè)計1-用面向?qū)ο蠓椒▽崿F(xiàn)校園信息管理用面向?qū)ο蠓椒▽崿F(xiàn)校園信息管理系統(tǒng)系統(tǒng)1 1 系統(tǒng)分析和設(shè)計系統(tǒng)分析和設(shè)計 校園信息管理系統(tǒng)的主要功能就是對在校人員校園信息管理系統(tǒng)的主要功能就是對在校人員( (包括包括學(xué)生和教師學(xué)生和教師) )的信息資料進(jìn)展管理。的信息資料進(jìn)展管理。 雖然系統(tǒng)有時需求將教師和學(xué)生分成兩部分雖然系統(tǒng)有時需求將教師和學(xué)生分成兩部分單獨管理,但有時也需求將全體人員作為一類單獨管理,但有時也需求將全體人員作為一類對象進(jìn)展一致管理,以提高管

22、理效率。對象進(jìn)展一致管理,以提高管理效率。 系統(tǒng)除了能輸入人員信息、查詢和分析信系統(tǒng)除了能輸入人員信息、查詢和分析信息以外,還應(yīng)能將數(shù)據(jù)永久保管到磁盤中,以息以外,還應(yīng)能將數(shù)據(jù)永久保管到磁盤中,以免每次運(yùn)轉(zhuǎn)程序時反復(fù)輸入。而且以后要用數(shù)免每次運(yùn)轉(zhuǎn)程序時反復(fù)輸入。而且以后要用數(shù)據(jù)時能將它們從磁盤文件中讀出。據(jù)時能將它們從磁盤文件中讀出。2.2.功能模塊設(shè)計功能模塊設(shè)計 根據(jù)前面對校園信息管理系統(tǒng)根本信息和功根據(jù)前面對校園信息管理系統(tǒng)根本信息和功能的需求分析能的需求分析, ,程序中應(yīng)該至少定義兩個類程序中應(yīng)該至少定義兩個類: : 一個是學(xué)生類一個是學(xué)生類student,student,另一個是教師

23、類另一個是教師類teacherteacher 另外,為了便于對教師和學(xué)生信息進(jìn)展一致處置以另外,為了便于對教師和學(xué)生信息進(jìn)展一致處置以提高效率,還可以將學(xué)校的一切人員籠統(tǒng)為一個提高效率,還可以將學(xué)校的一切人員籠統(tǒng)為一個PersonPerson類,將類,將 student student和和teacherteacher類作為其派生類。因類作為其派生類。因此,可畫出系統(tǒng)的對象模型如下:此,可畫出系統(tǒng)的對象模型如下:personperson類類定定 義義 數(shù)據(jù)類型數(shù)據(jù)類型描描 述述namecharchar數(shù)組數(shù)組學(xué)生姓名學(xué)生姓名sexcharchar數(shù)組數(shù)組學(xué)生性別學(xué)生性別addresscharch

24、ar數(shù)組數(shù)組學(xué)生家庭地址學(xué)生家庭地址birthdayDate (自定義結(jié)構(gòu)自定義結(jié)構(gòu))出生日期出生日期typeptype (自定義枚舉類型自定義枚舉類型) student student 或或 teacherteachershow虛成員函數(shù)虛成員函數(shù)輸出對象信息輸出對象信息read虛成員函數(shù)虛成員函數(shù)讀入對象信息讀入對象信息save虛成員函數(shù)虛成員函數(shù)將對象存入文件將對象存入文件Load虛成員函數(shù)虛成員函數(shù)從文件讀入對象從文件讀入對象studentstudent類類:public person:public person定定 義義 數(shù)據(jù)類型數(shù)據(jù)類型描描 述述sclasscharchar數(shù)組數(shù)組學(xué)生所在班級學(xué)生所在班級majorcharchar數(shù)組數(shù)組所學(xué)專業(yè)所學(xué)專業(yè)cour

溫馨提示

  • 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

提交評論