freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

7133程序設(shè)計(jì)實(shí)習(xí)(已修改)

2024-10-16 09:39 本頁(yè)面
 

【正文】 程序設(shè)計(jì)實(shí)習(xí) 第十二講 類(lèi)和對(duì)象(續(xù)) 內(nèi)容提要 ? 構(gòu)造函數(shù) ? 析構(gòu)函數(shù) ? 各種構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用時(shí)機(jī) ? 常量對(duì)象和常量方法 ? 成員對(duì)象和封閉類(lèi) ? const 成員和引用成員 ? 友元 ? this指針 構(gòu)造函數(shù) 成員函數(shù)的一種,名字與類(lèi)名相同,可以有參數(shù),不能有返回值 (void也不行 ),作用是對(duì)對(duì)象進(jìn)行初始化 ,如給成員變量賦初值。 如果定義類(lèi)時(shí)沒(méi)寫(xiě)構(gòu)造函數(shù),則編譯器生成一個(gè)缺省的無(wú)參數(shù)的構(gòu)造函數(shù)。缺省構(gòu)造函數(shù)無(wú)參數(shù),什么也不做。 如果定義了構(gòu)造函數(shù),則編譯器不生成缺省的無(wú)參數(shù) 的 構(gòu)造函數(shù)。 對(duì)象生成時(shí)構(gòu)造函數(shù)自動(dòng)被調(diào)用。對(duì)象一旦生成,就再也不能在其上執(zhí)行構(gòu)造函數(shù)。 為類(lèi)編寫(xiě)構(gòu)造函數(shù)是好的習(xí)慣,能夠保證對(duì)象生成的時(shí)候總是有合理的值。 一個(gè)類(lèi)可以有多個(gè)構(gòu)造函數(shù) class CHero { private: char szMenpai[10]。 //俠客的門(mén)派 int nStrength, nForce。 //生命值和攻擊力 public : void SetMenpai(char * menpai)。 void Attack( CHero amp。 hero)。 }。 沒(méi)有編寫(xiě)構(gòu)造函數(shù)則編譯器自動(dòng)生成一個(gè)無(wú)參的 什么事都不做的 “ 缺省構(gòu)造函數(shù) ” 。 CHero h1。 //缺省構(gòu)造函數(shù)被調(diào)用 CHero * ph = new CHero。 //缺省構(gòu)造函數(shù)被調(diào)用 下面定義一個(gè)構(gòu)造函數(shù): class CHero { private: char szMenpai[10]。 //俠客的門(mén)派 int nStrength, nForce。 //生命值和攻擊力 public : void SetMenpai(char * menpai)。 CHero( char * pMenpai,int nStrength_ = 100, int nForce_ = 20 )。 }。 CHero::CHero( char * pMenpai,int nStrength_ , int nForce_ ) { nStrength = nStrength_。 nForce = nForce_。 strcpy( szMenpai,pMenpai)。 } CHero h1。 // error, 沒(méi)有參數(shù) CHero * pc = new CHero。 // error, 沒(méi)有參數(shù) CHero h1(“Shaolin”)。 // OK CHero h1(“Wudang”,100,30), h2(“Ermei”,200)。 CHero * ph = new CHero(“Shaolin”,100,30)。 可以有多個(gè)構(gòu)造函數(shù),參數(shù)個(gè)數(shù)或類(lèi)型不同 class CHero { private: char szMenpai[10]。 //俠客的門(mén)派 int nStrength, nForce。 //生命值和攻擊力 public : CHero( char * pMenpai,int nStrength_ = 100, int nForce_ = 20 )。 CHero( ):nStrength(10),nForce(10) { strcpy( szMenpai,)。 } CHero(CHero amp。 h1,CHero amp。 h2)。 }。 CHero::CHero( CHero amp。 h1, CHero amp。 h2) { nStrength = + ) / 2 。 nForce = ( + )/2。 strcpy( szMenpai, )。 } CHero h1。 CHero h2(Shaolin,100,40)。 CHero h3(Shaolin,200,60)。 CHero h4(h2,h3)。 構(gòu)造函數(shù)在數(shù)組中的使用: class CHero { int x。 public: CHero() { cout Constructor 1 Called endl。 } CHero(int n ):x(n) { cout Constructor 2 Called endl。 } }。 int main(){ CHero array1[2]。 cout step1endl。 CHero array2[2] = {4,5}。 cout step2endl。 CHero array3[2] = {3}。 cout step3endl。 CHero * array4 = new CHero[2]。 //沒(méi)有 delete,不好 delete [] array4。 return 0。 } 輸出: Constructor 1 Called Constructor 1 Called step1 Constructor 2 Called Constructor 2 Called step2 Constructor 2 Called Constructor 1 Called step3 Constructor 1 Called Constructor 1 Called 在數(shù)組中使用構(gòu)造函數(shù) class Test { public: Test( int n) { } //(1) Test( int n, int m) { } //(2) Test() { } //(3) }。 Test array1[3] = { 1, Test(1,2) }。 // 三個(gè)元素分別用 (1),(2),(3)初始化 Test array2[3] = { Test(2,3), Test(1,2) ,1}。 // 三個(gè)元素分別用 (2),(2),(1)初始化 Test * pArray[3] = { new Test( 4), new Test(1,2) }。 // 兩個(gè)元素分別用 (1),(2) 初始化 復(fù)制構(gòu)造函數(shù) 形如 X::X( Xamp。 ), 只有一個(gè)參數(shù)即對(duì)同類(lèi)對(duì)象的引用, 如果沒(méi)有定義,那么編譯器生成缺省復(fù)制構(gòu)造函數(shù) 。缺省的復(fù)制構(gòu)造函數(shù)完成復(fù)制功能 class CHero { private : int nStrength,nForce。 }。 CHero h1。 //調(diào)用缺省構(gòu)造函數(shù) CHero h2(h1)。//調(diào)用缺省的復(fù)制構(gòu)造函數(shù), //將 h2 初始化成和 h1一樣 如果定義的自己的復(fù)制構(gòu)造函數(shù),則缺省的復(fù)制構(gòu)造函數(shù)不存在。 class CHero { private : int nStrength,nForce。 public: CHero( CHero amp。 c ) { nStrength = 。 nForce =
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1