- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程式設計(二) 參考書目: 1.
Practice 1 設計一個CBox 類別,具有 length、width 與 height 三個整數的資料成員,完成下列的程式設計 定義 volumn() 函數,用來計算 CBox 物件的體積 定義 surfaceArea() 函數,用來計算 CBox 的表面積 進階:使用 set() 函數來設定 length、width 與 height 三個 private 整數的資料成員。 * * 在類別定義的內部呼叫函數 (1/3) 在類別定義的內部呼叫函數 * 在類別定義的內部呼叫函數 (2/3) * 在類別定義的內部呼叫函數 (3/3) 把prog12_8的show_area() 改成如下的敘述 假設在main() 主程式裡有這麼一行敘述 則this即代表指向win1物件的指標 * 引數的傳遞 (1/3) 下面的程式是傳遞數值到函數中的範例 * 引數的傳遞 (2/3) * 引數的傳遞 (3/3) 下面的程式片段是將prog12_9中的區域變數i、w與h標示出來 * 傳遞物件到函數裡 (1/2) 下面是傳遞物件到函數裡的範例 * 傳遞物件到函數裡 (2/2) * 函數的多載 (1/2) 在類別裡定義的成員函數也可以多載,如下面的範例 * 函數的多載 (2/2) * 可能導致的危險 (1/2) 下面的範例示範從類別外部存取資料時,可能導致的危險 * 可能導致的危險 (2/2) * 建立私有成員 (1/3) 私有成員(private member)的設定方式如下 * 建立私有成員 (2/3) 下面的程式碼設定id、width與height資料成員為私有,area() 函數為公有 * 建立私有成員 (3/3) C++成員的預設屬性為私有,因此id、width與height成員會被視為私有 * 錯誤示範 (1/2) prog12_13為私有成員的使用範例(錯誤示範) * 錯誤示範 (2/2) * 建立公有成員 (1/3) 下面的範例是利用公有函數存取私有成員 * 建立公有成員 (2/3) * 建立公有成員 (3/3) 從prog12_14可看出,唯有透過公有成員函數,才能存取私有成員 Practice 2 建立一個三角形的的類別 Triangle,以下說明: 資料成員為三個邊長 edge1, edge2, edge3:double,需設定為 private。 以下方法 void set(double, double, double): 設定三角形的三個邊 bool istri(): 判斷是否為三角形 double area(): 計算面積,若不能形成三角形,則印出「不是三角形」。面積公式參考期中考試題。 double perimeter (): 計算周長。 由鍵盤輸入三角形三邊長,輸出周長及面積。 * * 私有的成員函數 (1/2) 函數不想被外界所呼叫,一樣可設為私有,如下面的程式 * 私有的成員函數 (2/2) * 資料的封裝 封裝(encapsulation) 把資料成員和成員函數依功能劃分為「私有」與「公有」,並且包裝在一個類別內來保護私有成員,使得它不會直接受到外界的存取 * 友誼函數 友誼函數不屬於某個類別,但它可存取該類別內的成員 友誼函數以friend做宣告,放置位置可以有下列兩種: 把友誼函數的原型放在類別的定義內,把定義放在類別外 把友誼函數直接定義在類別內 友誼函數不會太複雜的話,編譯器會自動把它當成inline函數 * 使用友誼函數 (1/3) 下面的程式是使用友誼函數的例子 * 使用友誼函數 (2/3) * 使用友誼函數 (3/3) 下圖顯示友誼函數存取的權限 * 友誼函數的注意事項 您可以在類別內只定義完整的友誼函數,或只定義它的原型,而將其完整的定義放置在類別外,如prog12_16即是 雖然友誼函數的原型或定義是放在類別內,但它並不屬於類別的成員,自然也就不具有公有或私有的特性 Practice 3 延續 Practice 2,請利用友誼函數 show_data(Triangle) 將 private 之三邊長由螢幕輸出。 * 程式設計(二)參考書目:1.洪維恩,C++ 教學手冊 第三版,旗標出版圖書公司。2. Walter Savitch, Absolute C++ (4th Edition), Pearson Education, Inc., 2010. 3. Paul J. Deitel and Harvey M. Deitel, C++ How to Program, 7rd Edition, Prentice Hall, 2009.(中文版 C++ 程式設計藝術 第五版 全華書局)4. 物件導向程式設
您可能关注的文档
最近下载
- 人工智能导论知到课后答案智慧树章节测试答案2025年春浙江师范大学.docx VIP
- 2024年饮品店项目创业投资方案.docx
- 生命的律动答案.docx
- 300T汽车吊性能说明书-XCA300_1全地面起重机技术规格书+[主臂风电臂加超起].pdf VIP
- 导尿管相关尿路感染预防与控制课件.pptx VIP
- 历史的天空2015全图文攻略.pdf VIP
- 人工智能引论智慧树知到课后章节答案2023年下浙江大学.docx VIP
- 医院感染与痰液标本采集.pptx VIP
- 黑龙江统招专升本2019英语真题.pdf VIP
- 2019版 人教版 高中生物学 选择性必修2 生物与环境《第4章 人与环境》大单元整体教学设计[2020课标].docx
文档评论(0)