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

正文內(nèi)容

第10章創(chuàng)建功能更強(qiáng)的類型-文庫吧資料

2025-07-26 07:10本頁面
  

【正文】 括號中,直接調(diào)用與實參類型相匹配的構(gòu)造函數(shù)。 i high –low + 1。 storage = new double [high – low + 1]。arr) { low = 。 前兩個操作沒有問題,第三個操作中, storage是一個指針,第三個操作意味著使 arr1的 storage指針和 arr2的storage指針指向同一塊空間。 = 。但默認(rèn)的拷貝構(gòu)造函數(shù)卻不能勝任。 ? 但某些情況下可能需要設(shè)計自己的拷貝構(gòu)造函數(shù)。 y = 2 * 。} point(const point amp。 public: point(int a, int b) { x = a。該函數(shù)將已存在的對象原式原樣地復(fù)制給新成員 《 程序設(shè)計 》 程序設(shè)計 66 自定義拷貝構(gòu)造函數(shù) Classname(const classname amp。 ? 拷貝構(gòu)造函數(shù)以一個同類對象引用作為參數(shù),它的原型為: 類名( const 類名 amp。 } 《 程序設(shè)計 》 程序設(shè)計 64 拷貝構(gòu)造函數(shù) ? 在創(chuàng)建一個對象時,可以用一個同類的對象對其初始化。 else cout 下標(biāo)越界 \n。 if (i == 0) break。 } while (true) { cout 請輸入要查找的元素序號( 0表示結(jié)束) :。 cin value。 i=30。 double value。 include int main() { DoubleArray array(20,30)。 } }。value)。 } bool insert(int index, double value)。 double *storage。有了析構(gòu)函數(shù),就不需要 cleanup函數(shù)了 《 程序設(shè)計 》 程序設(shè)計 62 析構(gòu)函數(shù)舉例 class DoubleArray{ int low。 ? 一般在構(gòu)造函數(shù)中有動態(tài)申請內(nèi)存的,必須有析構(gòu)函數(shù)。 } 《 程序設(shè)計 》 程序設(shè)計 60 析構(gòu)函數(shù) ? 析構(gòu)函數(shù)在撤銷對象時,完成一些善后工作,由編譯系統(tǒng)自動調(diào)用 ? 析構(gòu)函數(shù)與構(gòu)造函數(shù)名字相同,但它前面必須加一個波浪號( ~) ? 析構(gòu)函數(shù)沒有參數(shù),沒有返回值,也不能重載。 cout () endl。 } } main() {timer a(20), b(1, 20), c(1, 1, 10)。} timer(int h, int min, int sec) {second=sec+60*min+3600*h。 public: timer(int t) { second = t。 《 程序設(shè)計 》 程序設(shè)計 59 時間轉(zhuǎn)換器的實現(xiàn) include iostream Using namespace std。在初始化數(shù)據(jù)成員的同時完成了賦初始的工作。 } 《 程序設(shè)計 》 程序設(shè)計 57 為什么要使用初始化列表 ? 對象的構(gòu)造過程: ? 執(zhí)行每一個數(shù)據(jù)成員的構(gòu)造函數(shù)。 ? 構(gòu)造函數(shù)初始化列表位于函數(shù)頭和函數(shù)體之間。 ? 括號中的實際參數(shù)要和構(gòu)造函數(shù)的形式參數(shù)表相對應(yīng)。此時,定義 Rational r1(3,5), r2。 ReductFraction()。 ? 一般每個類應(yīng)該有一個缺省的構(gòu)造函數(shù) 《 程序設(shè)計 》 程序設(shè)計 54 帶缺省值的 Rational類的構(gòu)造函數(shù) ? Rational(int n1 = 0, int n2 = 1) { num = n1。 《 程序設(shè)計 》 程序設(shè)計 53 構(gòu)造函數(shù)的使用 ? 有了構(gòu)造函數(shù)后,對象定義的一般形式為: 類名 對象名(實際參數(shù)表); 其中,實際參數(shù)表必須和該類的某一個構(gòu)造函數(shù)的形式參數(shù)表相對應(yīng)。} ? 定義對象時,須指定構(gòu)造函數(shù)的實際參數(shù)。 den = n2。 ? 定義對象時,須指定構(gòu)造函數(shù)的實際參數(shù) DoubleArray array(20, 30)。} 有了構(gòu)造函數(shù),就不需要 initialize函數(shù)了。 high = rh。它只為對象開辟存儲空間,空間中的內(nèi)容為隨機(jī)數(shù)。因此在定義構(gòu)造函數(shù)時,不能說明它的類型,甚至說明為 void類型也不行。 《 程序設(shè)計 》 程序設(shè)計 50 構(gòu)造函數(shù)的特點 ? 定義對象時,系統(tǒng)會自動調(diào)用構(gòu)造函數(shù)。 《 程序設(shè)計 》 程序設(shè)計 49 構(gòu)造函數(shù)與析構(gòu)函數(shù) ? 構(gòu)造函數(shù)和析構(gòu)函數(shù)是特殊的成員函數(shù) ? 構(gòu)造函數(shù):對數(shù)據(jù)成員進(jìn)行初始化。 ? 用戶希望使用類的對象就和使用內(nèi)置類型的變量一樣,一旦定義了,就能直接使用。 ? 對于某些類的對象在消亡前,往往也需要執(zhí)行一些操作,做一些善后的處理。 ? 如果在成員函數(shù)中要把對象作為整體來訪問時,必須顯式地使用 this指針。 thisden = d。 den = d。而類中的成員函數(shù)對該類的所有對象只有一份拷貝。 ? 當(dāng)一個對象賦值給另一個對象時,所有的數(shù)據(jù)成員都會逐位拷貝。 return 0。 ()。 ()。 //執(zhí)行 r3=r1*r2 ()。 cout endl。 cout = 。 cout + 。 (r1, r2)。 cin n d。 (n,d)。 //定義三個有理數(shù)類的對象 計算兩個有理數(shù)的和與積 《 程序設(shè)計 》 程序設(shè)計 42 cout 請輸入第一個有理數(shù)(分子和分母): 。 include //使用有理數(shù)類 int main() { int n, d。 rp = new Rational[20]。 Rational *rp。} } 《 程序設(shè)計 》 程序設(shè)計 38 第 10章 創(chuàng)建功能更強(qiáng)的類型 ? 從面向過程到面向?qū)ο? ? 類的定義 ? 對象的使用 ? 對象的構(gòu)造與析構(gòu) ? 常量對象與 const成員函數(shù) ? 常量數(shù)據(jù)成員 ? 靜態(tài)數(shù)據(jù)成員與靜態(tài)成員函數(shù) ? 友元 《 程序設(shè)計 》 程序設(shè)計 39 對象的定義 ? 類與對象的關(guān)系:類型與變量的關(guān)系 ? 對象定義方法: ?直接在程序中定義某個類的對象 存儲類別 類名 對象列表; 如定義兩個 IntArray類的對象 arr1和 arr2,可寫成: IntArray arr1, arr2。 den /= tmp。amp。 tmp 1。 } // ReductFraction實現(xiàn)有理數(shù)的化簡 void Rational::ReductFraction() {int tmp = (num den) ? den : num。 den = * 。r1, const Rational amp。 ReductFraction()。r2) { num = * + * 。 endif 有理數(shù)類的定義 《 程序設(shè)計 》 程序設(shè)計 36 有理數(shù)類的實現(xiàn) include “ //add函數(shù)將 r1和 r2相加,結(jié)果存于當(dāng)前對象 void Rational::add(const Rational amp。 den。 void display() { cout num 39。r1, const Rational amp。r2)。} void add(const Rational amp。 //將有理數(shù)化簡成最簡形式 public: void create(int n, int d) { num = n。 int den。 ? 有理數(shù)類的操作: ? 加函數(shù) ? 乘函數(shù) ? 創(chuàng)建有理數(shù)的函數(shù),用以設(shè)置有理數(shù)的分子和分母 ? 輸出有理數(shù)函數(shù) ? 化簡函數(shù) ? 訪問權(quán)限設(shè)計: ? 數(shù)據(jù)成員是私有的 ? 化簡函數(shù)是內(nèi)部調(diào)用的函數(shù),與用戶無關(guān),因此也是私有的 ? 其他函數(shù)都是公有的 《 程序設(shè)計 》 程序設(shè)計 35 ifndef _rational_h define _rational_h include iostream using namespace std。如 2/6應(yīng)記錄為 1/3。 《 程序設(shè)計 》 程序設(shè)計 33 類定義實例 ? 試定義一個有理數(shù)類,該類能提供有理數(shù)的加和乘運(yùn)算。 ? 某些簡單的成員函數(shù)的定義可以直接寫在類定義中。也可以反復(fù)出現(xiàn)多次。 }。value)。 bool insert(int index, double value)。 double *storage。 《 程序設(shè)計 》 程序設(shè)計 27 第 10章 創(chuàng)建功能更強(qiáng)的類型 ? 從面向過程到面向?qū)ο? ? 類的定義 ? 對象的使用 ? 對象的構(gòu)造與析構(gòu) ? 常量對象與 const成員函數(shù) ? 常量數(shù)據(jù)成員 ? 靜態(tài)數(shù)據(jù)成員與靜態(tài)成員函數(shù) ? 友元 《 程序設(shè)計 》 程序設(shè)計 28 類定義的一般格式 ? class 類名 { [private:] 私有數(shù)據(jù)成員和成員函數(shù) public: 公有數(shù)據(jù)成員和成員函數(shù) }; 《 程序設(shè)計 》 程序設(shè)計 29 公有和私有成員 ? 私有成員 (private):只能由類的成員函數(shù)調(diào)用 ? 公有成員 (public):類的用戶可以調(diào)用的信息,是類對外的接口 ? 私有成員被封裝在一個類中,類的用戶是看不見的 《 程序設(shè)計 》 程序設(shè)計 30 DoubleArray類的定義 class DoubleArray { private: int low。事實上,它就成為了和內(nèi)置類型一樣的一種全新的數(shù)據(jù)類型。 ? 將處理這組數(shù)據(jù)的函數(shù)也加入到結(jié)構(gòu)體中,結(jié)構(gòu)體就有了全新的功能。 return 0。 else cout 下標(biāo)越界 \n。 if (i == 0) break。 } while (true) { //數(shù)組元素的查找 cout 請輸入要查找的元素序號 (0表示結(jié)束) :。 cin value。 i = high。 return 1。 cin low high。 int low, high, i。 include “ int main() { DoubleArray array。 } 《 程序設(shè)計 》 程序設(shè)計 23 改進(jìn)后的 Array庫的應(yīng)用 ? 函數(shù)的調(diào)用方法不同。 if (storage == NULL) return false。 high = rh。 }。value)。 bool insert(int index, double value)。 double *storage。 《 程序設(shè)計 》 程序設(shè)計 21 改進(jìn)后的 Array庫的頭文件 ifndef _array_h define _array_h struct DoubleArray{ int low。編譯器自然知道函數(shù)體中涉及到的 low, high和storage是同一結(jié)構(gòu)體變量中的成員 ?函數(shù)名沖突的問題也得到了解決。 ? 對數(shù)組元素的操作不能直接用下標(biāo)變量的形式表示。而我們這個數(shù)組的下標(biāo)范圍要用 initialize函數(shù)來指定,比內(nèi)置數(shù)組多了一個操作。庫的設(shè)計者都可能覺得 initialize和cleanup是比較合適的名字,因而都寫了這兩個函數(shù)。每次調(diào)用和數(shù)組有關(guān)的函數(shù)時,都要傳遞一個結(jié)構(gòu)體給它。 return 0。 else cout 下標(biāo)越界 \n。 if (i == 0) break。 } while (true) { cout 請輸入要查找的元素序號( 0表示結(jié)束): 。 cin val
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1