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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第8章第一部分類與對(duì)象-資料下載頁

2024-10-19 04:16本頁面
  

【正文】 { Table table1。 // 聲明類對(duì)象,同時(shí)自動(dòng)調(diào)用 Table()進(jìn)行初始化 ()。 } 輸出結(jié)果為: The length of the table is: The width of the table is: The height of the table is: 構(gòu)造函數(shù)也可以放在類的外部定義。 include class coordinate { private: int X,Y。 public: coordinate(int x,int y)。 int getx() { return X。 } int gety() { return Y。 } }。 coordinate::coordinate(int x,int y) { coutInitlizing:x yendl。 X=x。Y=y。 } void main() { coordinate A(300,150)。 cout() ()。 } 程序的主函數(shù) main()中定義了 coordinate類的對(duì)象 A。編譯系統(tǒng)在定義對(duì)象 A時(shí)啟動(dòng)構(gòu)造函數(shù) coordinate( ),輸出指定信息并對(duì)對(duì)象 A的成員數(shù)據(jù) X、 Y進(jìn)行初始化。該程序運(yùn)行后輸出結(jié)果為: Initializing: 300 150 300 150 例如 :下面的代碼構(gòu)造一個(gè)賬戶類的對(duì)象: class Account { public: Account() { name = 0。 } // 其他成員函數(shù) private: char *name。 unsigned acctNumber。 double balance。 }。 void main() { Account acct1,acct2。 } 在該賬戶類的定義中,構(gòu)造函數(shù)是無參的,則聲明的兩個(gè)對(duì)象 acct1和 acct2的賬戶姓名相同,這樣程序員還必須再調(diào)用一個(gè)函數(shù)把不同的數(shù)據(jù)存到不同的對(duì)象中去,以區(qū)分兩個(gè)不同的對(duì)象。因此,應(yīng)該讓構(gòu)造函數(shù)可以帶參數(shù),這樣可以使初始化一步到位。 例如,下面的程序?qū)⑸厦娴?Account類的構(gòu)造函數(shù)改進(jìn)為帶參的: class Account {public: Account(char *pName) { name = new char[strlen(pName)+1]。 strcpy(name,pName)。 coutConstructing account “ nameendl。 balance=0。 } private: char *name。 unsigned acctNumber。 double balance。 }。 void main() { Account acct1(Alice)。 } 運(yùn)行結(jié)果為: Constructing account Alice 有了帶參的構(gòu)造函數(shù),就可以在創(chuàng)建類對(duì)象的同時(shí),為對(duì)象進(jìn)行必要的初始化了,使得不同的對(duì)象有不同的特征。但是,上面這個(gè)構(gòu)造函數(shù)的前提是每個(gè)賬戶的開戶余額為 0,賬號(hào)隨機(jī)分配。 如果很多用戶的開戶余額不為 0,有些用戶的賬號(hào)需要指定的時(shí)候,程序員還需要調(diào)用函數(shù)來進(jìn)行設(shè)置。為了解決這個(gè)問題, C++允許構(gòu)造函數(shù)重載,這樣程序員就可以根據(jù)實(shí)際需要,通過調(diào)用相應(yīng)的構(gòu)造函數(shù)在聲明對(duì)象的時(shí)候進(jìn)行相應(yīng)的初始化了。例如: 【 例 86】 構(gòu)造函數(shù)的重載和調(diào)用。 include include class Account { public: Account(char *)。 Account(char *,unsigned)。 Account(char *,unsigned,double)。 // 其他的成員函數(shù) private: char *name。 unsigned acctNumber。 double balance。 }。 Account::Account(char *pName) { name = new char[strlen(pName)+1]。 strcpy(name,pName)。 coutConstructing account name endl。 } Account::Account(char *pName,unsigned number) { name = new char[strlen(pName)+1]。 strcpy(name,pName)。 acctNumber = number。 coutConstructing account name acctNumberendl。 } Account::Account(char *pName, unsigned number, double bln) { name = new char[strlen(pName)+1]。 strcpy(name,pName)。 acctNumber = number。 balance = bln。 coutConstructing account name“ acctNumber balanceendl。 } void main() { Account acct1(Alice)。 Account acct2(Jerry,15)。 Account acct3(Susan,16,)。 } 運(yùn)行結(jié)果為: Constructing account Alice Constructing account Jerry 15 Constructing account Susan 16 1000 說明: (1) C++規(guī)定,每個(gè)類必須至少有一個(gè)構(gòu)造函數(shù),否則就無法創(chuàng)建任何對(duì)象。 (2) 如果沒有顯式地為類提供任何構(gòu)造函數(shù),則C++提供一個(gè)缺省的構(gòu)造函數(shù),這個(gè)構(gòu)造函數(shù)是個(gè)無參函數(shù),它只負(fù)責(zé)對(duì)象的創(chuàng)建,而不做任何初始化工作。 (3) 一旦一個(gè)類定義了構(gòu)造函數(shù)(有參或者無參),C++便不再提供缺省的構(gòu)造函數(shù)。也就是說,如果給類定義了帶參的構(gòu)造函數(shù)后,還想使用無參函數(shù)的話,就必須要自己定義。 (4) 構(gòu)造函數(shù)不允許有返回值,即使是 void也不行。 動(dòng)態(tài)對(duì)象的初始化 使用運(yùn)算符 new可以建立動(dòng)態(tài)對(duì)象。當(dāng)使用 new建立一個(gè)動(dòng)態(tài)對(duì)象時(shí), new依次完成以下三項(xiàng)任務(wù): ① 動(dòng)態(tài)分配該對(duì)象所需的存儲(chǔ)單元; ② 調(diào)用構(gòu)造函數(shù)對(duì)該對(duì)象進(jìn)行初始化; ③ 返回動(dòng)態(tài)對(duì)象的首地址。 使用 new建立的動(dòng)態(tài)對(duì)象在程序中完成其使命后,應(yīng)該用運(yùn)算符 delete將其刪除。 例 : 動(dòng)態(tài)對(duì)象的建立和刪除。程序如下: include class CLASS { int i。 public: CLASS() { i=0。 } CLASS(int n) { i=n。 } int geti() { return i。 } }。 void main() { CLASS *p1=new CLASS。 CLASS *p2=new CLASS(10)。 coutp1geti()endl。 coutp2geti()endl。 delete p1。 delete p2。 } 其中, p1所指向的對(duì)象在動(dòng)態(tài)分配時(shí)使用無參的構(gòu)造函數(shù)進(jìn)行初始化; p2所指向的對(duì)象在動(dòng)態(tài)分配時(shí)使用有參的構(gòu)造函數(shù)進(jìn)行初始化。 程序的輸出結(jié)果為: 0 10
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1