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

正文內(nèi)容

清華c語言程序設(shè)計(jì):第11章類和對(duì)象-資料下載頁

2025-10-09 17:13本頁面
  

【正文】 id draw() { coutDraw a circle at ( x , y), with radius r.endl。 } private: double x, y。 //x、 y坐標(biāo) double r。 //半徑 }。 endif 構(gòu)造函數(shù) (6/8) ? 使用例子 6中的類 Circle聲明對(duì)象 Circle a。 //相當(dāng)于 Circle a(, , )。 Circle b()。 //相當(dāng)于 Circle b(, , )。 Circle c(, )。 //相當(dāng)于 Circle c(, , )。 Circle d(, , )。 //相當(dāng)于 Circle d(, , )。 構(gòu)造函數(shù) (7/8) ? 復(fù)制構(gòu)造函數(shù) ? 根據(jù)類的某個(gè)對(duì)象復(fù)制出一個(gè)完全相同的新對(duì)象的構(gòu)造函數(shù)叫復(fù)制構(gòu)造函數(shù) ? 復(fù)制構(gòu)造函數(shù)的參數(shù)是該類的對(duì)象,一般使用傳引用的方式 例子 7:為例子 6增加一個(gè)復(fù)制構(gòu)造函數(shù) (1/2) //文件 if !defined __CIRCLE__H__ define __CIRCLE__H__ include class Circle { public: //帶默認(rèn)參數(shù)的構(gòu)造函數(shù) Circle(double a = , double b = , double c = ) { x = a。 y = b。 if (c0) r = c。 else r = 。 } 例子 7:為例子 6增加一個(gè)復(fù)制構(gòu)造函數(shù) (2/2) //復(fù)制構(gòu)造函數(shù) Circle(Circle amp。c) { x = 。 y = 。 r = 。 } void draw() { coutDraw a circle at (x,y ), with radius r.endl。 } private: double x, y。 //x、 y坐標(biāo) double r。 //半徑 }。 endif 構(gòu)造函數(shù) (8/8) ? 使用復(fù)制構(gòu)造函數(shù) Circle a(, , )。 Circle b(a)。 ? 對(duì)象中包含動(dòng)態(tài)分配的數(shù)據(jù)成員時(shí),復(fù)制構(gòu)造函數(shù)的實(shí)現(xiàn)不能只是簡(jiǎn)單的賦值 ? 應(yīng)該先為當(dāng)前對(duì)象的數(shù)據(jù)成員分配新的空間 ? 再將參數(shù)對(duì)象中相應(yīng)的數(shù)據(jù)復(fù)制過來 析構(gòu)函數(shù) (1/3) ? 析構(gòu)函數(shù)名是字符“ ~”加上類名 ? 析構(gòu)函數(shù)不能指定返回類型 ? 不能被重載 ? 沒有參數(shù) ? 其作用是在撤銷對(duì)象前為對(duì)象做最后的清理工作 ? 一般為釋放對(duì)象在生存期內(nèi)動(dòng)態(tài)分配的空間 析構(gòu)函數(shù) (2/3) ? 析構(gòu)函數(shù)執(zhí)行的時(shí)機(jī) ? 對(duì)象被撤銷時(shí),類的析構(gòu)函數(shù)被自動(dòng)調(diào)用 ? 全局對(duì)象在所有程序執(zhí)行完畢之后被撤銷(執(zhí)行完main函數(shù)最后一條語句或執(zhí)行 exit語句之后) ? 如果程序以 abort語句終止執(zhí)行,全局對(duì)象的析構(gòu)函數(shù)不被執(zhí)行 ? 局部動(dòng)態(tài)對(duì)象在退出該對(duì)象的作用域時(shí)被撤銷 ? 如果程序在退出該程序塊之前以 exit或 abort終止執(zhí)行 , 局部動(dòng)態(tài)對(duì)象的析構(gòu)函數(shù)不會(huì)執(zhí)行 析構(gòu)函數(shù) (3/3) ? 析構(gòu)函數(shù)執(zhí)行的時(shí)機(jī) ? 局部靜態(tài)對(duì)象在程序執(zhí)行完畢后或程序執(zhí)行 exit語句之后 , 其析構(gòu)函數(shù)被執(zhí)行 ? 如果程序以 abort語句終止執(zhí)行,局部靜態(tài)對(duì)象的析構(gòu)函數(shù)不被執(zhí)行 ? 局部靜態(tài)對(duì)象的析構(gòu)函數(shù)在全局對(duì)象的析構(gòu)函數(shù)執(zhí)行之前執(zhí)行 ? 動(dòng)態(tài)創(chuàng)建對(duì)象的析構(gòu)函數(shù)在執(zhí)行相應(yīng)的 delete操作時(shí)執(zhí)行 ? 如果程序不使用 delete釋放動(dòng)態(tài)創(chuàng)建的對(duì)象 , 該對(duì)象不會(huì)被釋放 例子 8:編程演示構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行時(shí)機(jī) (2/2) //文件 if !defined __CREATEANDDESTORY__H__ define __CREATEANDDESTORY__H__ include class CreateAndDestroy { public: CreateAndDestroy(int n) { no = n。 coutObject no created!endl。} ~CreateAndDestroy() { coutObject no destructed!endl。} private: int no。 }。 endif 例子 8:編程演示構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行時(shí)機(jī) (2/2) //文件 include CreateAndDestroy one(1)。 //定義全局對(duì)象 one main() { CreateAndDestroy *ptr。 CreateAndDestroy two(2)。 //定義局部動(dòng)態(tài)對(duì)象 two { CreateAndDestroy three(3)。//局部對(duì)象 three ptr = new CreateAndDestroy(4)。 //動(dòng)態(tài)對(duì)象 static CreateAndDestroy five(5)。 //靜態(tài)對(duì)象 } delete ptr。 //釋放動(dòng)態(tài)創(chuàng)建的對(duì)象 return 0。 } 程序運(yùn)行結(jié)果: Object 1 created! Object 2 created! Object 3 created! Object 4 created! Object 5 created! Object 3 destructed! Object 4 destructed! Object 2 destructed! Object 5 destructed! Object 1 destructed! 學(xué)習(xí)目的檢測(cè) ? 了解數(shù)據(jù)抽象的概念 ? 初步掌握如何使用面向?qū)ο蟮姆椒ǚ治鱿到y(tǒng) ? 掌握類的定義方法 ? 掌握類的成員函數(shù)的定義方法 ? 掌握類的靜態(tài)成員的作用及使用方法 ? 掌握如何在類的定義中使用訪問控制策略 ? 掌握構(gòu)造函數(shù)、析構(gòu)函數(shù)的定義方法、作用及執(zhí)行時(shí)機(jī) 作業(yè)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1