版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第12章 構(gòu)造函數(shù)2本章主要內(nèi)容o12.1 類與對象o12.2 構(gòu)造函數(shù)的需要性o12.3 構(gòu)造函數(shù)的使用o12.4 析構(gòu)函數(shù)o12.5 帶參數(shù)的構(gòu)造函數(shù)o12.6 重載構(gòu)造函數(shù)o12.7 默認(rèn)構(gòu)造函數(shù)o12.8 類成員初始化的困惑o12.9 構(gòu)造類成員o12.10 構(gòu)造對象的順序o作業(yè)312.1 類與對象1. 類與對象的區(qū)別o類:抽象的,描述一類事物應(yīng)具有的屬性和操作。o對象:具體的,是類的一個(gè)具體的實(shí)例,具有確定的屬性和操作。o對象可以被創(chuàng)建和銷毀,但類是無所不在的。2.對象的定義o定義對象應(yīng)為對象分配內(nèi)存空間。o在11.4節(jié)中已介紹412.1 類與對象3.對象的初始化o初始化要求:對象的
2、定義表達(dá)了現(xiàn)實(shí)世界的實(shí)初始化要求:對象的定義表達(dá)了現(xiàn)實(shí)世界的實(shí)體體, ,因此因此, ,一旦建立一個(gè)類的對象一旦建立一個(gè)類的對象, ,需要一個(gè)有意需要一個(gè)有意義的初始值義的初始值。所以類的對象創(chuàng)建的時(shí)候必須被。所以類的對象創(chuàng)建的時(shí)候必須被初始化。初始化。Student t; /全局對象全局對象int main() Student s; /局部對象局部對象 /說明:說明:全局對象全局對象, ,靜態(tài)對象以全靜態(tài)對象以全0 0位的模式表示,位的模式表示, 局部對象以隨機(jī)值表示。局部對象以隨機(jī)值表示。512.2 構(gòu)造函數(shù)的需要性o變量初始化的方法如下: int a=1; int * pa=&a;
3、o數(shù)組初始化的方法如下: int b =1,2,3,4;o結(jié)構(gòu)初始化的方法如下: struct Student int somesHours; /總需學(xué)時(shí)數(shù) float gpa; /平均成績 ; void fn( ) Student s=100, 3.5; /創(chuàng)建結(jié)構(gòu)變量時(shí)初始化 / 612.2 構(gòu)造函數(shù)的需要性o封裝性要求:封裝性要求:初始化不是簡單的參數(shù)與成員對應(yīng)初始化不是簡單的參數(shù)與成員對應(yīng), ,而是而是聯(lián)系參數(shù)到成員的過程聯(lián)系參數(shù)到成員的過程. .class Student protected: int somesHours; /總需學(xué)時(shí)數(shù) float gpa; /平均成績 ; voi
4、d fn( ) Student s=100, 3.5; /error,不能訪問;/因?yàn)轭惖姆庋b性, 相當(dāng)于可以訪問類的保護(hù)成員 / ;o說明:類對象不能使用和結(jié)構(gòu)類似的初始化方式;應(yīng)該通過成員函數(shù)初始化。712.2 構(gòu)造函數(shù)的需要性o普通的成員函數(shù)初始化對象class Student public: void init()somesHours=100; gpa=3.5; protected: int somesHours; /總需學(xué)時(shí)數(shù) float gpa; /平均成績 ; void fn( ) Student s; s.init(); /增加書寫代碼,且不能真正實(shí)現(xiàn)初始化 ;o說明:應(yīng)該通過
5、特殊的成員函數(shù)初始化對象,即構(gòu)造函數(shù)。8o構(gòu)造函數(shù):在類定義中,與類同名且沒有返回類型的成員函數(shù)。o作用:在創(chuàng)建對象時(shí),由系統(tǒng)自動(dòng)調(diào)用,對對象進(jìn)行初始化 。12.3 構(gòu)造函數(shù)的使用9o1.構(gòu)造函數(shù)創(chuàng)建構(gòu)造函數(shù)創(chuàng)建 class Pointdouble x , y ;public:Point(double ix , double iy) /構(gòu)造函數(shù)構(gòu)造函數(shù) x=ix; y=iy; double xOffset();double yOffset();double angle();double radius(); 12.3 構(gòu)造函數(shù)的使用10int main( )Point p1(3,4); 自動(dòng)調(diào)用
6、構(gòu)造函數(shù)自動(dòng)調(diào)用構(gòu)造函數(shù)Point(double ix , double iy); 12.3 構(gòu)造函數(shù)的使用11o構(gòu)造函數(shù)可以放在類的外部定義,加“類名:”。o例:/ch12_1.cpp #include class Desk public: Desk( ); /構(gòu)造函數(shù)聲明 protected: int weight; int high; int width; int length; ;12.3 構(gòu)造函數(shù)的使用class Stool public: Stool( ); /構(gòu)造函數(shù)聲明 protected: int weight; int high; int width; int length
7、; ;12Desk:Desk( ) /構(gòu)造函數(shù)定義 weight=10; high=5; width=5; length=5; cout weight high width length endl; Page 12Stool:Stool( ) /構(gòu)造函數(shù)定義 weight=6; high=3; width=3; length=3; cout weight high width length endl; 12.3 構(gòu)造函數(shù)的使用13 void fn( ) Desk da; /自動(dòng)調(diào)用Desk( ) Stool sa; /自動(dòng)調(diào)用Stool( ) int main( ) fn( ); 主函數(shù)運(yùn)行時(shí)
8、調(diào)用主函數(shù)運(yùn)行時(shí)調(diào)用fn( ), fn( )fn( ), fn( )在創(chuàng)建在創(chuàng)建DeskDesk對象對象dada和和StoolStool對象對象sasa時(shí),分別調(diào)用了兩者的構(gòu)造函數(shù)。時(shí),分別調(diào)用了兩者的構(gòu)造函數(shù)。12.3 構(gòu)造函數(shù)的使用運(yùn)行結(jié)果:運(yùn)行結(jié)果:10 5 5 56 3 3 314o如果在上例中的函數(shù)如果在上例中的函數(shù)fn( )中,定義桌子對象的語中,定義桌子對象的語句改成定義句改成定義對象數(shù)組對象數(shù)組:Page 14void fn( ) Desk dd 5 ; /對象數(shù)組dd Stool sa ; 則定義則定義對象數(shù)組對象數(shù)組的語句中構(gòu)造函數(shù)會(huì)被調(diào)用的語句中構(gòu)造函數(shù)會(huì)被調(diào)用5次。次。
9、12.3 構(gòu)造函數(shù)的使用運(yùn)行結(jié)果:運(yùn)行結(jié)果:10 5 5 510 5 5 510 5 5 510 5 5 510 5 5 56 3 3 315o2.構(gòu)造函數(shù)的特點(diǎn)o構(gòu)造函數(shù)與類同名,沒有返回類型,函數(shù)體中不允許返回值,但可以有無值返回語句 “return;”;由系統(tǒng)自動(dòng)調(diào)用。o例: void Desk:Desk( ) /error:構(gòu)造函數(shù)定義class Pointdouble x , y ;public:Point(double ix , double iy) if(ix0 | iy0) cout“illegle date!n”; return; /. ;Page 1512.3 構(gòu)造函數(shù)的使
10、用16o3.對象成員的構(gòu)造o一個(gè)類定義中 ,類的數(shù)據(jù)成員可能為另一個(gè)類的對象, 此時(shí)在類的對象創(chuàng)建所調(diào)用的構(gòu)造函數(shù)中,對該成員(對象)自動(dòng)調(diào)用其構(gòu)造函數(shù)。o例: /ch12_2.cppo #include o class Studento public:o Student( ) o cout constructing student.n;o semesHours=100;o gpa=3.5;o o /其他公共成員 o protected:o int semesHours;o float gpa;1. ;l class Teacherl public:l Teacher( ) l cout co
11、nstructing teacher.n;l l ; 12.3 構(gòu)造函數(shù)的使用17oclass TutorPairo public:o TutorPair( ) o cout constructing tutorpair.n;o noMeetings=0;o o protected:o Student student;o Teacher teacher;o int noMeetings; /會(huì)晤次數(shù)o;oint main( ) o TutorPair tp;o cout back in main.n;o 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:constructing student.constructing
12、 teacher.constructing tutorpair.back in main.12.3 構(gòu)造函數(shù)的使用1812.4 析構(gòu)函數(shù)o 對象結(jié)束其生命時(shí),會(huì)被系統(tǒng)悄悄地銷毀(析構(gòu)),即對象本體空間與名字脫離關(guān)系。o析構(gòu)函數(shù):在類定義中,與類同名、并在前面冠以“”的成員函數(shù) 。o特點(diǎn):是特殊的類成員函數(shù),它沒有返回類型,沒有參數(shù),不能隨意調(diào)用,系統(tǒng)自動(dòng)調(diào)用,也沒有重載。o作用:釋放對象在構(gòu)造中分配的資源(例如:關(guān)閉被構(gòu)造函數(shù)打開的文件,釋放動(dòng)態(tài)內(nèi)存)。在對象生命期結(jié)束時(shí),由系統(tǒng)自動(dòng)調(diào)用,并且以與構(gòu)造函數(shù)相反的調(diào)用順序被調(diào)用。19o#include oclass Studento public
13、:o Student( )o cout constructing student.n;o semesHours=100;o gpa=3.5;o o Student( )o cout destructing student.n;o /其他公共成員 protected: int semesHours; float gpa; ; class Teacher public: Teacher( ) cout constructing teacher.n; Teacher( ) cout destructing teacher.n; ;/ch12_3.cpp20oclass TutorPairo publ
14、ic:o TutorPair( )o cout constructing tutorpair.n;o noMeetings=0;o o TutorPair( )o cout destructing tutorpair.n;o protected:o Student student;o Teacher teacher;o int noMeetings;o;o int main( )o o TutorPair tp;o cout back in main.n;o 運(yùn)行結(jié)果:運(yùn)行結(jié)果: constructing student. constructing teacher. constructing
15、tutorpair. back in main. destructing tutorpair. destructing teacher. destructing student. 注意:構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序正好相反。2112.5 帶參數(shù)的構(gòu)造函數(shù)o不帶參數(shù)的構(gòu)造函數(shù)對數(shù)據(jù)成員的初始化,取決于構(gòu)造函數(shù)體中對哪些數(shù)據(jù)成員進(jìn)行賦初值,且用此構(gòu)造函數(shù)構(gòu)造的所有對象的初始值都相同。 o帶參數(shù)的構(gòu)造函數(shù)可以使得各對象的數(shù)據(jù)成員的初始值不同,通過創(chuàng)建對象時(shí)將實(shí)參傳遞給構(gòu)造函數(shù),達(dá)到初始化目的。Page 2122/ch12_4.cppo# includeo# includeoclass Student
16、o public:o Student(char* pName)o cout constructing student pName endl; o strncpy(name,pName,sizeof(name); /字符串復(fù)制o namesizeof(name)-1=0;o o Student( )o cout destructing name endl;o /其他公共成員12.5 帶參數(shù)的構(gòu)造函數(shù)23o構(gòu)造函數(shù)可以有任意多個(gè)參數(shù)。/ch12_5.cpp o # include o # include o class Studento public:o Student(char* pName,
17、int xHours, float xgpa) o cout constructing student pName endl;o strncpy(name,pName,sizeof(name);o namesizeof(name)-1=0;o semesHours=xHours;o gpa=xgpa;o o Student( )o cout destructing name endl;o o /其他公共成員o protected:o char name20;o int semesHours;o float gpa;o ; o int main( )o Student ss(Jenny, 22,
18、 3.5);o 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:constructing student Jennydestructing Jenny2412.6 重載構(gòu)造函數(shù)o重載構(gòu)造函數(shù):在一個(gè)類中出現(xiàn)多個(gè)構(gòu)造函數(shù),但是它們所帶的參數(shù)個(gè)數(shù)、參數(shù)類型,或次序有所不同 。/ch12_6.cppo # include o class Tdateo public:o Tdate( ); /默認(rèn)構(gòu)造函數(shù)o Tdate(int d);o Tdate(int m, int d);o Tdate(int m, int d, int y);o /其他公共成員o protected:o int month;o int day;o i
19、nt year;1. ;Page 2425oTdate:Tdate( ) o month=4; day=15; year=1995;o cout month / day /year endl;ooTdate:Tdate(int d)o month=4; day=d; year=1996;o cout month / day/ year endl;ooTdate:Tdate(int m, int d)o month=m; day=d; year=1997;o cout month / day/ year endl;o oTdate:Tdate(int m,int d, int y)o month
20、=m; day=d; year=y;o cout month / day/ year endl;o12.6 重載構(gòu)造函數(shù) int main( ) Tdate aday; Tdate bday(10); Tdate cday(2, 12); Tdate dday(1, 2, 1998); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:4/15/19954/10/1996 2/12/19971/2/199826o多個(gè)構(gòu)造函數(shù)可以共享初始化過程,先定義一個(gè)共享成員函數(shù),然后每個(gè)構(gòu)造函數(shù)都調(diào)用之。/ch12_7.cppo# include oclass Tdateo public:o Tdate( ) Init(4,15,19
21、95); o Tdate(int d) Init(4,d,1996); o Tdate(int m,int d) Init(m,d,1997); o Tdate(int m,int d,int y) Init(m,d,y); o /其他公共成員o protected:o int month;o int day;o int year;o void Init(int m,int d,int y)o month=m; day=d; year=y;o cout month / day / year endl;o o ; Page 2612.6 重載構(gòu)造函數(shù)27n int main( )n Tdate
22、aday;n Tdate bday(10);n Tdate cday(2, 12);n Tdate dday(1, 2, 1998);n 運(yùn)行結(jié)果:4/15/1995 4/10/1996 2/12/1997 1/2/1998Page 2712.6 重載構(gòu)造函數(shù)28o多個(gè)構(gòu)造函數(shù)可以通過給一個(gè)構(gòu)造函數(shù)以參數(shù)默認(rèn)值,使多個(gè)構(gòu)造函數(shù)結(jié)合成一個(gè)。/ch12_8.cpp o# include o class Tdateo public:o Tdate(int m=4, int d=15, int y=1995)o month=m; day=d; year=y;o cout month / day/ ye
23、ar endl;o o /其他公共成員o protected:o int month;o int day;o int year;o ;Page 28l int main( )l Tdate aday;l Tdate bday(2);l Tdate cday(3, 12);l Tdate dday(1, 2, 1998);l 運(yùn)行結(jié)果同上例12.6 重載構(gòu)造函數(shù)29o重載構(gòu)造函數(shù)若與參數(shù)默認(rèn)值的構(gòu)造函數(shù)發(fā)生沖突,則創(chuàng)建對象的語句會(huì)導(dǎo)致編譯錯(cuò)誤。o例:class Tdate public: Tdate(int d) month=4; day=d; year=1998; Tdate(int m, i
24、nt d=12) month=m; day=d; year=1997; /其他公共成員 protected: int month; int day; int year; ; int main( ) Tdate aday(11);/error:匹配哪個(gè)構(gòu)造函數(shù)? 12.6 重載構(gòu)造函數(shù)3012.7 默認(rèn)構(gòu)造函數(shù)oC+規(guī)定,每個(gè)類必須有一個(gè)構(gòu)造函數(shù),沒有就不能創(chuàng)建任何對象。o若未提供一個(gè)類的構(gòu)造函數(shù),則C+提供一個(gè)默認(rèn)的構(gòu)造函數(shù),它是個(gè)無參構(gòu)造函數(shù),僅負(fù)責(zé)創(chuàng)建對象,而不做任何初始化工作。o只要一個(gè)類定義了一個(gè)構(gòu)造函數(shù),C+就不再提供默認(rèn)的默認(rèn)構(gòu)造函數(shù)。o與變量定義類似,在用默認(rèn)構(gòu)造函數(shù)創(chuàng)建對象時(shí),
25、如果創(chuàng)建的是全局對象或靜態(tài)對象,則對象的位模式全為0,否則, 對象值是隨機(jī)的。31 例: class Student /無構(gòu)造函數(shù) protected: char name20; ; int main( ) Student noName; /ok:noName的內(nèi)容 / 為隨機(jī)值 public: Student( ) /一個(gè)空的無一個(gè)空的無 /參構(gòu)造函數(shù)參構(gòu)造函數(shù)等價(jià)于12.7 默認(rèn)構(gòu)造函數(shù)32o又例如,下面的代碼定義了一個(gè)帶參數(shù)的構(gòu)造函數(shù),面對創(chuàng)建無參對象,將不能正確的編譯: o #include o class Studento public:o Student(char* pName)o
26、 strncpy(name,pName,sizeof(name);o namesizeof(name)-1=0;o o protected:o char name20;o ;o int main( )o o Student noName; /error:無匹配的構(gòu)造函數(shù) o 12.7 默認(rèn)構(gòu)造函數(shù)33o如果增加一個(gè)無參的構(gòu)造函數(shù),就可解決這個(gè)問題:o #include o class Studento public:o Student(char* pName)o strncpy(name,pName,sizeof(name);o namesizeof(name)-1=0;o o Student
27、( ) o protected:o char name20;o ;o int main( )o o Student noName; /oko Student ss(Jenny); /ok1. 12.7 默認(rèn)構(gòu)造函數(shù)34o說明的含糊性o先前的例子中創(chuàng)建Tdate類對象的方法是: Tdate aday; /為什么創(chuàng)建無參的對象無括號(hào)? Tdate bday(2); /對象的參數(shù)放在括號(hào)中 Tdate aday( ) ; /為什么不能這樣聲明?o根據(jù)C+的語法規(guī)定,這樣是聲明了一個(gè)名叫aday的普通函數(shù),他返回Tdate類對象,并且沒有參數(shù)。 又例如下面的代碼,一個(gè)是創(chuàng)建對象,一個(gè)是聲明函數(shù): Td
28、ate oneday(10); /創(chuàng)建對象 Tdate oneday(int); /聲明函數(shù)12.7 默認(rèn)構(gòu)造函數(shù)35o當(dāng)一個(gè)類中的某個(gè)成員是另一個(gè)類的對象時(shí),如何初始化這個(gè)成員?/ch12_10.cpp o # include o # include o int nextStudentID=0;o class StudentIDo public: o StudentID( )o value=+nextStudentID;o cout Assigning student id value endl;o o StudentID( )o -nextStudentID;o cout Destruct
29、ing id value endl;o o protected:o int value;o ; 36nclass Studentn public:n Student(char* pName=noName)n cout Constructing student pName n endl;o strcpy(name,pName);o namesizeof(name)-1=0; o o protected:o char name20;o StudentID id;o ; o int main( )o Student s(Randy);o Page 36運(yùn)行結(jié)果:運(yùn)行結(jié)果:Assigning stud
30、ent id 1Constructing student RandyDestructing id 137o如果想調(diào)用的函數(shù)不是默認(rèn)構(gòu)造函數(shù)又如何呢?o例如,下面的程序在創(chuàng)建學(xué)生對象時(shí),賦予一個(gè)學(xué)號(hào),希望將這個(gè)學(xué)號(hào)傳給成員學(xué)號(hào)類對象id保存:/ch12_11.cpp o # include o # include o class StudentIDo public:o StudentID(int id=0)o value=id;o cout Assigning student id value endl;o o StudentID( )o cout Destructing id value en
31、dl;o o protected: o int value;o ;38oclass Studento public: o Student(char* pName=noName,int ssID=0) o cout Constructing studentpName endl;o strcpy(name,pName);o namesizeof(name)-1=0;o StudentID id(ssID);/實(shí)際上創(chuàng)建了一個(gè)局部對象ido o protected:o char name20;o StudentID id; o ; oint main( )o Student s(Randy,9818
32、);o 運(yùn)行結(jié)果為:Assigning student id 0Constructing student RandyAssigning student id 9818Destructing id 9818Destructing id 0o此結(jié)果并未達(dá)到在初始化時(shí)賦予的學(xué)號(hào)傳給學(xué)號(hào)類對象id的目的。39o那么,能否像下面這樣在Student類中直接給id對象初始化呢?class Student public: Student(char *pname=“noName”, int ssID); protected: char name20; StudentID id(9818); /error /類
33、定義是不分配空間和初始化的;o 類是一個(gè)抽象概念,并不是一個(gè)實(shí)體,并不含有屬性值,而只有對象才占有一定的空間, 含有明確的屬性值。40o 類成員的構(gòu)造應(yīng)該在建立對象空間的結(jié)構(gòu)時(shí)反映出來,即需要出現(xiàn)在函數(shù)調(diào)用剛剛轉(zhuǎn)入之時(shí),函數(shù)體執(zhí)行(開括號(hào))之前。o 類成員的初始化完全可以利用構(gòu)造函數(shù)完成,在構(gòu)造函數(shù)的原型中利用冒號(hào)語法,在冒號(hào)后面進(jìn)行成員初始化: 構(gòu)造函數(shù)(參數(shù)列表):成員初始化列表 例:例: /ch12_12.cpp41 /ch12_12.cppo # include o # include o oclass StudentIDo public:o StudentID(int id=0)o
34、value=id;o cout Assigning student id value endl;o o StudentID( )o cout Destructing id value endl;o o protected:o int value;o ;42oclass Studento public:o Student(char* pName=no name, int ssID=0) :id(ssID)o /冒號(hào)表示后面要對類的數(shù)據(jù)成員的構(gòu)造函數(shù)進(jìn)行調(diào)用。o /這里是調(diào)用以ssID為實(shí)參的StudentID構(gòu)造函數(shù)。o cout Constructing student pName endl;
35、o strncpy(name,pName,sizeof(name);o namesizeof(name)-1=0;o o protected:o char name20;o StudentID id; o ;o int main( )o Student s(Randy,9818);o Student t(Jenny);o 運(yùn)行結(jié)果:運(yùn)行結(jié)果: Assigning student id 9818 Constructing student Randy Assigning student id 0 Constructing student Jenny Destructing id 0 Destruc
36、ting id 981843o 構(gòu)造函數(shù)頭后面如果是id( )的形式,表示調(diào)用StudentID的默認(rèn)構(gòu)造函數(shù),并且可以省略。 Student(char* pName=no name, int ssID=0) :id( ) / 也可以寫成: Student(char* pName=no name, int ssID=0) / 44o 構(gòu)造類成員時(shí)調(diào)用類成員的哪個(gè)構(gòu)造函數(shù)要是看參數(shù)匹配的情況。o 例如,在ch12_12.cpp中,如果StudentID構(gòu)造函數(shù)中,參數(shù)沒有默認(rèn)值,即原型為: StudentID(int id);表明StudentID沒有默認(rèn)構(gòu)造函數(shù)。o 而如果Student構(gòu)造函
37、數(shù)的原型為: Student(char *pName=no name, int ssID) ;是無冒號(hào)形式,表明Student將調(diào)用StudentID的默認(rèn)構(gòu)造函數(shù)。于是,主函數(shù)中的兩條創(chuàng)建Student對象的語句都要遇到不能匹配StudentID構(gòu)造函數(shù)的錯(cuò)誤。 45p冒號(hào)語法使得常量數(shù)據(jù)成員和引用數(shù)據(jù)成員的初始化成為可能。 例:class SillyClass public: SillyClass(int & i):ten(10),refI(i) protected: const int ten; /常量數(shù)據(jù)成員 int & refI; /引用數(shù)據(jù)成員 ; int main
38、( ) int i; SillyClass sc(i); 46o常量是不能被賦值的,引用變量也是不可重新指派的,一旦初始化,其值就永不改變。例:class SillyClass public: SillyClass(int &i) ten=10; /error:常量是不能被賦值 refI=i; /error:引用不可重新指派 protected: const int ten; int & refI; ; 47o數(shù)據(jù)成員若是一般變量,則放在冒號(hào)后面與放在函數(shù)體中初始化一樣。 例:class SillyClass class SillyClass public: public: S
39、illyClass( ) SillyClass( ):d(10) /方法2 d=10;/方法1 protected: protected: int d; int d; ; ;48o說明一個(gè)變量并初始化有兩種形式: int main( ) int m=10; /ok int n(20); /TC+3.0不允許,C+新標(biāo)準(zhǔn)允許 Student s=“Jenny”; /ok Student t(“Danny”); /ok:類的形式不受限制 o注意:賦值表達(dá)式中不允許:m(10); 只能:m=10; 構(gòu)造函數(shù)的冒號(hào)后的初始化不允許用第一種形式: class SillyClass public: SillyClass2( ):d=10 /error protected: int d; ;491.局部和靜態(tài)對象,以聲明的順序構(gòu)造。o# include o# include oclass Studento public:o Student(char* pName=no name)o cout constructing student pName endl;o strncpy(name,pName,sizeof(name);o namesizeof(name)-1=0;o o Student( )o cout destructing
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶大學(xué)課程設(shè)計(jì)仿真圖
- 二零二五年度橘子種植基地承包與農(nóng)產(chǎn)品出口協(xié)議3篇
- 二零二五年度美發(fā)店設(shè)備更新?lián)Q代及技術(shù)升級(jí)合同4篇
- 2025年度新型節(jié)能門窗安裝承攬合同范本3篇
- 2025年項(xiàng)目咨詢管理合作協(xié)議范本詳解3篇
- 二零二五年度酒店客房門鎖更換與升級(jí)服務(wù)合同4篇
- 2025年校車照管員崗位責(zé)任與風(fēng)險(xiǎn)防控合同2篇
- 二零二五年度民用航空運(yùn)輸合同服務(wù)質(zhì)量提升方案4篇
- 二零二五年度模板木枋行業(yè)創(chuàng)新發(fā)展基金合作合同4篇
- 2025年度高校教學(xué)樓租賃合同及智能化教學(xué)系統(tǒng)建設(shè)3篇
- 軌道工程-第三章-有砟軌道
- 泌尿:膀胱腫瘤病人的護(hù)理查房王雪-課件
- 標(biāo)點(diǎn)符號(hào)的研究報(bào)告
- 服務(wù)器報(bào)價(jià)表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 2024-2029年中國制漿系統(tǒng)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報(bào)告
- 大門封條模板
- ppr管件注塑工藝
- 液化氣站其他危險(xiǎn)和有害因素辨識(shí)及分析
- 高中語文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計(jì)及總結(jié)反思
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
評(píng)論
0/150
提交評(píng)論