面向?qū)ο蟪绦蛟O(shè)計(jì)課程指導(dǎo)書_第1頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程指導(dǎo)書_第2頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程指導(dǎo)書_第3頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程指導(dǎo)書_第4頁
面向?qū)ο蟪绦蛟O(shè)計(jì)課程指導(dǎo)書_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上現(xiàn)代遠(yuǎn)程教育面向?qū)ο蟪绦蛟O(shè)計(jì)C+課程學(xué)習(xí)指導(dǎo)書作者:穆玲玲課程學(xué)習(xí)方法指導(dǎo)“面向?qū)ο蟪绦蛟O(shè)計(jì)-C+”這門課程是“C語言程序設(shè)計(jì)”課程的后續(xù)課程,本課程在學(xué)生掌握C語言的基本編程方法之后,繼續(xù)向?qū)W生介紹面向?qū)ο蟪绦蛟O(shè)計(jì)方法在C+語言中的實(shí)現(xiàn)。本課程將從復(fù)習(xí)C+語言基礎(chǔ)開始,平滑過渡到面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,并針對C+程序設(shè)計(jì)的主要知識點(diǎn)進(jìn)行精要介紹,以大量的實(shí)例介紹各種知識點(diǎn)的具體應(yīng)用。使學(xué)生在學(xué)習(xí)本課程之后,掌握C+面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。本課程在理解基本概念的基礎(chǔ)上,側(cè)重培養(yǎng)學(xué)生的實(shí)際編程能力,因此同學(xué)們應(yīng)在認(rèn)真觀看視頻教學(xué)之前的基礎(chǔ)上,認(rèn)真閱讀教材,通過完成自測題

2、和書后作業(yè),鞏固基礎(chǔ)知識的理解;盡可能多上機(jī),多編程熟練掌握編程的方法和開發(fā)工具的使用。課程學(xué)習(xí)進(jìn)度安排本課程教學(xué)內(nèi)容在一學(xué)期內(nèi)完成,學(xué)生可參考以下進(jìn)度安排自己的學(xué)習(xí):第1周 第1單元(教材第1章) 復(fù)習(xí)C+基礎(chǔ)第2周 第2單元 類與對象(教材2.1-2.4)第3周 第2單元 類與對象(續(xù))(教材2.5-2.9)第4周 第2單元 類與對象 (教材第3章)第5周 第3單元 友元 第6周 第4單元 運(yùn)算符重載(教材5.15.3)第7周 第4單元 運(yùn)算符重載(續(xù))(教材5.45.11)第8周 第5單元 模板(教材第6章)第9周 第6單元 繼承與派生(教材第7.17.7)第10周 第6單元 繼承與派生

3、 (教材第7.87.11)第11周 第7單元 虛函數(shù)和多態(tài)(教材第8章)第12周 第8單元 C+流(教材9.1-9.4)第13周 第8單元 C+流(續(xù))(教材9.5-9.7)第14周 第9 單元 異常處理和名字空間(教材第10章)第15周 第10單元 C+標(biāo)準(zhǔn)模板庫(教材第11章)第16周 第11單元 面向?qū)ο筌浖O(shè)計(jì)(教材第12章)課程學(xué)習(xí)課時(shí)分配第1部分 C+語言基礎(chǔ)第1單元(教材第1章) 復(fù)習(xí)C+基礎(chǔ) (2學(xué)時(shí))每課時(shí)內(nèi)容為: 1.1-1.4 1.5-1.7 第2部分 面向?qū)ο蟪绦蛟O(shè)計(jì)的特征、概念和方法第2單元 類與對象(教材第2章和第3章)(9學(xué)時(shí))每課時(shí)內(nèi)容為:2.1-2.2 2.3

4、-2.4 2.52.6 2.7-2.8 2.9 3.1 -3.2 3.3 3.43.6 3.7 第3單元 友元 (教材第4章)(2學(xué)時(shí))每課時(shí)內(nèi)容為:4.14.3 4.4第4單元 運(yùn)算符重載(教材第5章)(5學(xué)時(shí))每課時(shí)內(nèi)容為:5.15.2 5.3 5.4 5.51.10 5.11第5單元 模板(教材第6章)(3學(xué)時(shí))每課時(shí)內(nèi)容為:6.16.2 6.3 6.4 第6 單元 繼承與派生(教材第7章)(5學(xué)時(shí))每課時(shí)內(nèi)容為:7.17.3 7.47.7 7.87.9 7.10 7.11第7單元 虛函數(shù)和多態(tài)(教材第8章)(3學(xué)時(shí))每課時(shí)內(nèi)容為:8.18.2 8.38.4 8.5 第3部分 C+語言的

5、高級特征第8單元 C+流(教材第9章)(5學(xué)時(shí))每課時(shí)內(nèi)容為:9.19.2 9.3 9.4 9.59.6 9.7第9 單元 異常處理和名字空間(教材第10章)(2學(xué)時(shí))每課時(shí)內(nèi)容為:10.110.3 10.410.5第10單元 C+標(biāo)準(zhǔn)模板庫(教材第11章)(2學(xué)時(shí))每課時(shí)內(nèi)容為:11.111.5 11.611.7第4部分 面向?qū)ο筌浖こ痰?1單元 面向?qū)ο筌浖O(shè)計(jì)(教材第12章)(2學(xué)時(shí))每課時(shí)內(nèi)容為:12.112.2 12.3第1章 C+語言基礎(chǔ)一、 教學(xué)內(nèi)容1.1 C+概述計(jì)算機(jī)語言種類、程序設(shè)計(jì)方法、C+語言及其特點(diǎn)、C+程序的基本結(jié)構(gòu)、C+程序的開發(fā)步驟1.2 C+語言初識數(shù)據(jù)類型

6、、常量和變量、數(shù)據(jù)的輸入和輸出1.3 控制語句順序、選擇、循環(huán)、跳轉(zhuǎn)1.4 構(gòu)造數(shù)據(jù)類型數(shù)組、枚舉、結(jié)構(gòu)體、共用體、自定義類型1.5 指針指針的定義、初始化、運(yùn)算符、new和delete、指針和數(shù)組1.6 函數(shù)函數(shù)的定義和調(diào)用、全局變量和局部變量、參數(shù)傳遞、內(nèi)聯(lián)函數(shù)、函數(shù)重載、域運(yùn)算符1.7 斷言二、 章節(jié)學(xué)習(xí)目標(biāo)1、 理解C語言與C+語言的關(guān)系,理解面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心和特點(diǎn),理解斷言的作用 2、 熟練掌握C+程序的基本結(jié)構(gòu)和開發(fā)步驟;C+語言的語法和常用語句,包括:數(shù)據(jù)類型,變量聲明,常量定義,數(shù)據(jù)的輸入和輸出,控制語句,構(gòu)造數(shù)據(jù)類型(數(shù)組,結(jié)構(gòu),自定義類型),指針和函數(shù)的使用3、

7、能運(yùn)用VC+6.0或DevC開發(fā)C+程序;能運(yùn)用C+語言設(shè)計(jì)算法并編程實(shí)現(xiàn)三、 章節(jié)重點(diǎn)、要點(diǎn)本章主要內(nèi)容是C+語言基礎(chǔ),對于熟練掌握C語言程序設(shè)計(jì)的同學(xué),本章內(nèi)容可以跳過。本章的重點(diǎn)是:1. C+的語法和常用語句,包括:C+程序結(jié)構(gòu),數(shù)據(jù)類型,變量聲明,常量定義,數(shù)據(jù)的輸入和輸出,控制語句,構(gòu)造數(shù)據(jù)類型(數(shù)組,結(jié)構(gòu),自定義類型),指針和函數(shù)的使用。2. C+開發(fā)工具:VC+6.0或DevC本章的要點(diǎn)是:1. 數(shù)據(jù)的輸入和輸出:cin和cout的基本使用方法2. 指針的定義和使用:指針的定義、初始化、運(yùn)算符、new和delete、指針和數(shù)組。這一部分的內(nèi)容對于大多數(shù)同學(xué)來說比較困難,需要通過大

8、量的編程練習(xí)理解指針的含義和使用。3. 函數(shù):函數(shù)的基本使用方法容易理解,但是關(guān)于全局變量和局部變量、參數(shù)傳遞、內(nèi)聯(lián)函數(shù)、函數(shù)重載和域運(yùn)算符等問題是新的內(nèi)容,在本課程的后續(xù)內(nèi)容中將不斷涉及,因此同學(xué)們應(yīng)深刻理解。四、 章節(jié)考試大綱面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心和特點(diǎn);C語言與C+語言的關(guān)系;C+程序的基本結(jié)構(gòu)和開發(fā)步驟;C+語言的語法和常用語句(數(shù)據(jù)類型,變量聲明,常量定義,數(shù)據(jù)的輸入和輸出,控制語句,構(gòu)造數(shù)據(jù)類型(數(shù)組,結(jié)構(gòu),自定義類型),指針和函數(shù)的使用);斷言的作用;運(yùn)用C+語言設(shè)計(jì)算法并編程實(shí)現(xiàn);讀懂C+程序五、 計(jì)劃學(xué)時(shí)本章主要內(nèi)容為復(fù)習(xí)C+語言基礎(chǔ),安排課時(shí)為2學(xué)時(shí)六、 章節(jié)練習(xí)題1.

9、 高級語言是如何被計(jì)算機(jī)識別的?2. 面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心和特點(diǎn)分別是什么?3. C+程序的基本結(jié)構(gòu)是什么樣的?4. 什么是編譯預(yù)處理語句?5. C+程序的開發(fā)步驟是什么?6. 輸入輸出7. 指針8. 函數(shù)重載9. 給出以下程序的執(zhí)行結(jié)果。#include <iostream.h>void main() int i,j,k; for (i=1;i<=6;i+) for(j=1;j<=20-2*i;j+) cout << " " for(k=1;k<=i;k+) cout << i << " &

10、quot; cout << endl; 第2章 類和對象(一)一、 教學(xué)內(nèi)容2.1 類類的聲明、類的成員函數(shù)、訪問權(quán)限、特點(diǎn)、與結(jié)構(gòu)體的區(qū)別2.2 對象對象的定義、對象的數(shù)據(jù)成員訪問和成員函數(shù)調(diào)用、對象的存儲空間、對象的賦值運(yùn)算2.3 構(gòu)造函數(shù)概念、調(diào)用構(gòu)造函數(shù)、重載構(gòu)造函數(shù)、復(fù)制構(gòu)造函數(shù)2.4 析構(gòu)函數(shù)概念、性質(zhì)、調(diào)用2.5 對象的生存期2.6 對象淺復(fù)制與深復(fù)制2.7 靜態(tài)成員2.8 類成員指針2.9 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1、理解類和對象的概念,理解類與對象的關(guān)系,理解類的成員及其訪問權(quán)限;理解構(gòu)造函數(shù)與析構(gòu)函數(shù)的作用;理解靜態(tài)成員的作用;理解對象的復(fù)制2、熟練掌握類的定

11、義和訪問,熟練掌握重載構(gòu)造函數(shù)的定義和使用;熟練掌握靜態(tài)成員的使用3、能運(yùn)用類的概念編寫程序三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):類的概念、定義和使用;對象的概念、定義和使用;類與對象的關(guān)系;構(gòu)造函數(shù)和析構(gòu)函數(shù);靜態(tài)成員要點(diǎn):類是具有相同屬性的對象的抽象,對象是類的實(shí)例;類的成員包括數(shù)據(jù)成員和函數(shù)成員,數(shù)據(jù)成員說明類的屬性,函數(shù)成員說明類的操作;類的成員具有三種不同的訪問權(quán)限:private。protected。public;在默認(rèn)情況下,類的成員是私有的,private,而結(jié)構(gòu)的訪問權(quán)限在默認(rèn)情況下是公有的public。構(gòu)造函數(shù)和析構(gòu)函數(shù)是類的特殊成員函數(shù),在生成類對象的時(shí)候會調(diào)用構(gòu)造函數(shù),而在撤銷類對

12、象的時(shí)候則調(diào)用析構(gòu)函數(shù);構(gòu)造函數(shù)可以重載,但是析構(gòu)函數(shù)是不能重載的。類成員的訪問通常是通過類對象實(shí)現(xiàn)的,靜態(tài)成員例外。靜態(tài)成員是用static聲明的成員,被所有其所在類的類對象共享,靜態(tài)成員的訪問是通過類作用域?qū)崿F(xiàn)的。四、 章節(jié)考試大綱類的概念、定義和使用;對象的概念、定義和使用;類與對象的關(guān)系;構(gòu)造函數(shù)和析構(gòu)函數(shù);靜態(tài)成員;類成員的訪問權(quán)限和訪問方法五、 計(jì)劃學(xué)時(shí)5學(xué)時(shí)六、 章節(jié)練習(xí)題1、聲明類的一般格式是什么?2、類成員的訪問權(quán)限有哪些?3、類與對象的關(guān)系是什么?4、類的構(gòu)造函數(shù)和析構(gòu)函數(shù)有何特點(diǎn)?5、什么是靜態(tài)成員?有和特點(diǎn)?第3章 類與對象(二)一、 教學(xué)內(nèi)容3.1 常對象和常對象成員

13、3.2 類對象數(shù)組3.3 子對象 子對象構(gòu)造函數(shù)和析構(gòu)函數(shù)的設(shè)計(jì)和執(zhí)行次序3.4 嵌套類3.5 局部類3.6 this 指針3.7 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解常對象和常對象成員的含義;理解子對象的含義;理解嵌套類、局部類的含義和使用2. 熟練掌握子對象構(gòu)造函數(shù)和析構(gòu)函數(shù)設(shè)計(jì)和執(zhí)行次序;熟練掌握this指針的含義和應(yīng)用3. 能運(yùn)用常對象成員、子對象、this指針等設(shè)計(jì)較復(fù)雜的類三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):子對象構(gòu)造函數(shù)和析構(gòu)函數(shù)的設(shè)計(jì);子對象構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行次序;this指針要點(diǎn):本章是對類和對象較深入的專題。常對象指對象常量;常對象成員包括常對象成員函數(shù)和常數(shù)據(jù)成員;均用con

14、st聲明;常成員函數(shù)不更新對象的數(shù)據(jù)成員,也不調(diào)用非const成員函數(shù);常對象只能調(diào)用常成員函數(shù);const可用于區(qū)分函數(shù)重載。常數(shù)據(jù)成員可以是常量和常引用,用const說明;常數(shù)據(jù)成員由構(gòu)造函數(shù)的初始化列表進(jìn)行初識化;如果數(shù)組中每一個(gè)元素都是某一個(gè)類的對象,該數(shù)組稱作對象數(shù)組;當(dāng)一個(gè)類的數(shù)據(jù)成員是另一個(gè)類的對象時(shí),該對象稱作子對象。子對象表示兩個(gè)類之間的has-a關(guān)系。子對象的初始化通過初始化表進(jìn)行;構(gòu)造函數(shù)的調(diào)用次序是先調(diào)用各個(gè)對象成員的構(gòu)造函數(shù),對象成員的構(gòu)造函數(shù)調(diào)用次序取決于他們在類中的聲明次序與初始化表中的位置無關(guān);然后執(zhí)行類的構(gòu)造函數(shù),析構(gòu)函數(shù)的調(diào)用順序與構(gòu)造函數(shù)相反。類應(yīng)先聲明再

15、使用;兩個(gè)類相互引用時(shí),可在定義前先引用即前向引用聲明;嵌套類是指在一個(gè)類中聲明其他類,嵌套類在外層類中可以使用;而在外層類之外能否使用取決于嵌套類的權(quán)限;如果是公有的可以使用,但須用作用域運(yùn)算符指出外層類;局部類是在函數(shù)的定義中聲明的類;局部類一般不包含靜態(tài)成員;this指針是隱含于每一個(gè)類的成員函數(shù)的特殊指針,它將對象和該對象調(diào)用的成員函數(shù)鏈接在一起;由VC+內(nèi)部設(shè)計(jì),指向正在被某個(gè)成員函數(shù)操作的對象。 四、 章節(jié)考試大綱常對象和常對象成員的含義和聲明;子對象的含義;嵌套類、局部類的含義;子對象構(gòu)造函數(shù)和析構(gòu)函數(shù)設(shè)計(jì)和執(zhí)行次序;初始化表的使用;this指針的含義和應(yīng)用;運(yùn)用常對象成員、子對

16、象、this指針等設(shè)計(jì)較復(fù)雜的類,能讀懂程序;五、 計(jì)劃學(xué)時(shí)4學(xué)時(shí)六、 章節(jié)練習(xí)題1. 常成員函數(shù)有何特點(diǎn)?2. 什么時(shí)候需要使用初識化表?3. 什么是嵌套類?什么是局部類?4. 簡述this指針的含義是什么?第4章 友元一、 教學(xué)內(nèi)容4.1 什么是友元概念4.2 友元函數(shù)聲明、使用4.3 友元類4.4 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解友元的概念和作用,理解友元類和友元函數(shù)的定義和使用2. 熟練掌握友元函數(shù)和友元類的聲明和定義方法3. 能運(yùn)用友元函數(shù)編程三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):友元的含義,友元函數(shù)的定義和聲明,友元類的使用要點(diǎn):友元破環(huán)了數(shù)據(jù)的隱藏和封裝,但是方便了不同類之間,類與函數(shù)之

17、間的數(shù)據(jù)共享。友元包括友元類和友元函數(shù),均用friend聲明。友元類中的成員函數(shù)都是所在類的友元函數(shù)。友元關(guān)系具有不可傳遞性、單向性、不能繼承性。四、 章節(jié)考試大綱友元的含義和作用;友元函數(shù)和友元類的聲明;友元關(guān)系的特點(diǎn)五、 計(jì)劃學(xué)時(shí)2學(xué)時(shí)六、 章節(jié)練習(xí)題1. 什么是友元?具有什么特點(diǎn)?2. 友元關(guān)系具有什么特點(diǎn)?3. 如何聲明友元函數(shù)?第5章 運(yùn)算符重載一、 教學(xué)內(nèi)容5.1 概述定義、格式、調(diào)用格式5.2 重載單目運(yùn)算符通用方法5.3 重載雙目運(yùn)算符通用方法5.4-5.10 重載其他運(yùn)算符 重載比較運(yùn)算符、 重載賦值運(yùn)算符5.11應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解運(yùn)算符重載的意義;2. 熟

18、練掌握運(yùn)算符重載的定義格式和調(diào)用格式;熟練掌握運(yùn)算符重載的基本規(guī)則3. 能運(yùn)用運(yùn)算符重載編程,編寫運(yùn)算符重載函數(shù)三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):運(yùn)算符重載的含義、定義和調(diào)用要點(diǎn):運(yùn)算符重載就是用同一個(gè)運(yùn)算符完成不同的運(yùn)算功能,通過重載運(yùn)算符函數(shù)來完成。運(yùn)算符重載時(shí)不能改變運(yùn)算符優(yōu)先權(quán);不能改變運(yùn)算符的結(jié)合性,不能使用默認(rèn)參數(shù),不能改變操作數(shù)個(gè)數(shù),不能創(chuàng)建新的運(yùn)算符,不改變對C+內(nèi)部數(shù)據(jù)類型的運(yùn)算功能;五個(gè)不能重載的運(yùn)算符:“.”“.*”“:”“?:”“sizeof”;運(yùn)算符函數(shù)的關(guān)鍵字是operator;重載運(yùn)算符函數(shù)的調(diào)用與普通成員函數(shù)的調(diào)用格式類似,也可以直接表示為表達(dá)式形式;掌握重載算術(shù)運(yùn)算符

19、,重載前增量和后增量運(yùn)算符的例子四、 章節(jié)考試大綱運(yùn)算符重載的含義、定義和調(diào)用;運(yùn)算符重載的規(guī)則;算術(shù)運(yùn)算符和單目運(yùn)算符的重載五、 計(jì)劃學(xué)時(shí)5學(xué)時(shí)六、 章節(jié)練習(xí)題1. 什么是運(yùn)算符重載?2. 如何定義重載運(yùn)算符函數(shù)?3. 定義重載運(yùn)算符函數(shù)的時(shí)候需要注意哪些問題?第6章 模板一、 教學(xué)內(nèi)容6.1 概述6.2 函數(shù)模板聲明、編寫、使用、重載、匹配6.3 類模板聲明、使用6.4 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解模板的含義;理解函數(shù)模板的含義;理解類模板的含義2. 熟練掌握函數(shù)模板和類模板的聲明和使用方法;3. 能運(yùn)用函數(shù)模板和類模板編程三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):模板的含義;函數(shù)模板和類模板的聲

20、明與使用方法;要點(diǎn):模板是C+軟件復(fù)用的功能之一,包括函數(shù)模板和類模板,他們把函數(shù)或類要處理的數(shù)據(jù)類型參數(shù)化,表現(xiàn)為參數(shù)的多態(tài)性,可表達(dá)邏輯結(jié)構(gòu)相同但具體數(shù)據(jù)元素類型不同的數(shù)據(jù)對象的通用行為。用template聲明。函數(shù)模板是對一組函數(shù)的描述,不是真實(shí)的函數(shù),能生成重載的模板函數(shù);函數(shù)調(diào)用的順序?yàn)椋汉瘮?shù)匹配;模板函數(shù)匹配;類型轉(zhuǎn)換后匹配;失敗。類模板是一組類的抽象,不能直接使用,先實(shí)例化為模板類,定義模板類的對象后才可以使用。四、 章節(jié)考試大綱模板的含義;函數(shù)模板和類模板的聲明與使用方法;函數(shù)模板與函數(shù)的關(guān)系;類模板與類的關(guān)系,編寫函數(shù)模板和類模板五、 計(jì)劃學(xué)時(shí)3學(xué)時(shí)六、 章節(jié)練習(xí)題1. 什么

21、是模板?2. 函數(shù)模板與函數(shù)有何關(guān)系?3. 類模板與類有和關(guān)系?第7章 繼承與派生一、 教學(xué)內(nèi)容7.1 繼承的概念7.2 派生類的概念定義、生成、訪問權(quán)限7.3 繼承方式公有、私有、保護(hù)7.4 派生類繼承成員的調(diào)整7.5 派生類對象的存儲組織7.6 派生類的構(gòu)造函數(shù)7.7 派生類的析構(gòu)函數(shù)7.8 基類對象和派生類對象的使用關(guān)系7.9 類層次中的類模板7.10 虛基類7.11 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1.理解繼承的概念;理解派生類與繼承的關(guān)系;理解三種繼承方式的特點(diǎn);理解派生類的構(gòu)造函數(shù)和虛構(gòu)函數(shù)的調(diào)用;理解虛基類的意義。2.熟練掌握派生類的定義方法,熟練掌握派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順

22、序3.能運(yùn)用派生的方法構(gòu)造類,編寫程序。三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):繼承的含義,派生類的定義,派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序;虛基類要點(diǎn):繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)代碼重用的重要手段,程序員可在原有類的基礎(chǔ)上進(jìn)行擴(kuò)展,增加功能,構(gòu)造派生類。繼承呈現(xiàn)了面向?qū)ο蟪绦蛟O(shè)計(jì)的層次結(jié)構(gòu),體現(xiàn)了由簡單到復(fù)雜的認(rèn)識過程。反應(yīng)的是is-a關(guān)系。C+通過類的派生支持繼承。被繼承的類稱為基類、父類或超類,新的類稱為派生類或子類。直接參與派生出某類稱為直接基類,基類的基類稱為間接基類。從一個(gè)基類派生的繼承稱為單繼承;從多個(gè)基類派生的繼承稱為多繼承。派生類的定義格式為class 類名:繼承方式1 基類名1,繼承方式2

23、基類名2, 繼承方式3 基類名3。繼承方式有三種:公有、私有和保護(hù)。派生新類一般有三個(gè)階段:吸收基類成員、改造基類成員、添加新的成員。不同訪問權(quán)限的類成員在類自身、派生類和關(guān)聯(lián)類中的訪問控制規(guī)則是不同的;不同繼承方式派生的類基類成員的訪問屬性在派生類中是不同的。派生類的構(gòu)造函數(shù)執(zhí)行順序與析構(gòu)函數(shù)的執(zhí)行順序相反:按照聲明順序基類構(gòu)造函數(shù)->子對象構(gòu)造函數(shù)->派生類構(gòu)造函數(shù)?;愔羔樋梢灾赶蚺缮悓ο螅活惸0蹇梢耘缮惸0搴头穷惸0?;非類模板類可以派生類模板。在繼承方式前加virtual構(gòu)成虛基類,虛基類的成員在內(nèi)存中只擁有一個(gè)復(fù)制。虛基類構(gòu)造函數(shù)的調(diào)用總是先于普通基類的構(gòu)造函數(shù)。四、

24、 章節(jié)考試大綱派生類與繼承的關(guān)系;三種繼承方式的特點(diǎn);虛基類的意義;派生類的定義方法,派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序;用派生的方法構(gòu)造類。五、 計(jì)劃學(xué)時(shí)5學(xué)時(shí)六、 章節(jié)練習(xí)題1、什么是繼承?2、什么是派生?3、繼承方式有哪些?產(chǎn)生的結(jié)果是什么?4、什么是虛基類?第8章 虛函數(shù)和多態(tài)一、 教學(xué)內(nèi)容8.1 函數(shù)綁定8.2 虛函數(shù)及其限制聲明、實(shí)現(xiàn)多態(tài)、限制8.3 純虛函數(shù)和抽象類8.4 設(shè)計(jì)統(tǒng)一的公共接口8.5 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1.理解動態(tài)綁定和靜態(tài)綁定的含義;理解虛函數(shù)實(shí)現(xiàn)多態(tài)的工作原理2.熟練掌握虛函數(shù)的定義;熟練掌握多態(tài)的實(shí)現(xiàn)方法3.能運(yùn)用虛函數(shù)實(shí)現(xiàn)多態(tài)三、 章節(jié)重點(diǎn)、要點(diǎn)重

25、點(diǎn):函數(shù)綁定;虛函數(shù)的定義;實(shí)現(xiàn)多態(tài)的方法要點(diǎn):函數(shù)綁定是函數(shù)的入口地址同函數(shù)調(diào)用相聯(lián)系的過程。分為靜態(tài)綁定和動態(tài)綁定。靜態(tài)綁定在程序執(zhí)行前完成,動態(tài)綁定在程序執(zhí)行過程中完成。在運(yùn)行時(shí)根據(jù)對象類型確定調(diào)用哪個(gè)函數(shù)的能力稱為多態(tài)。C+用虛函數(shù)實(shí)現(xiàn)多態(tài)。虛函數(shù)用virtual聲明,是類的成員函數(shù),在派生類中通常重寫虛函數(shù),用基類指針調(diào)用虛函數(shù)可實(shí)現(xiàn)多態(tài)。靜態(tài)成員函數(shù)、內(nèi)聯(lián)函數(shù)、構(gòu)造函數(shù)不能是虛函數(shù)。定義虛函數(shù)=0稱為純虛函數(shù),含有純虛函數(shù)的類叫做抽象基類,抽象基類不能建立類對象。四、 章節(jié)考試大綱動態(tài)綁定和靜態(tài)綁定的含義;虛函數(shù)實(shí)現(xiàn)多態(tài)的工作原理;虛函數(shù)的定義;多態(tài)的實(shí)現(xiàn)方法;運(yùn)用虛函數(shù)實(shí)現(xiàn)多態(tài)五

26、、 計(jì)劃學(xué)時(shí)3學(xué)時(shí)六、 章節(jié)練習(xí)題1、什么是函數(shù)綁定?2、什么是動態(tài)綁定?3、C+中如何實(shí)現(xiàn)多態(tài)?4、什么是抽象類?有何特點(diǎn)?第9章 C+流一、 教學(xué)內(nèi)容9.1 什么是流概念、緩沖流和非緩沖流9.2 流類庫9.3 輸入輸出流輸入流、輸出流、格式控制、錯(cuò)誤狀態(tài)9.4 重載輸入輸出運(yùn)算符9.5-9.6 文件操作文件的打開與關(guān)閉、文件讀寫9.7 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解流的概念,了解C+語言中輸入輸出流類體系結(jié)構(gòu);2. 熟練掌握輸入輸出流的格式化方法;掌握輸入輸出流對象以及文本文件和二進(jìn)制文件的輸入和輸出方法3. 能運(yùn)用流實(shí)現(xiàn)輸入輸出和文件的基本操作三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):流的概念;格

27、式化輸入輸出; I/O流類的層次結(jié)構(gòu);文件基本操作要點(diǎn):流是流類定義的對象,用于實(shí)現(xiàn)設(shè)備與內(nèi)存之間的數(shù)據(jù)傳輸。C+中有若干個(gè)流類完成輸入輸出操作,所有流淚的集合稱為流類體系。主要的流類有:ios,istream,ostream,iostream,ifstream,ofstream,他們之間是有關(guān)聯(lián)的。流分為緩沖流和非緩沖流。cin和cout都是流類對象,具有輸入或輸出的成員函數(shù),并可設(shè)置格式。插入和提取運(yùn)算符可以重載用于新的數(shù)據(jù)類型的輸入和輸出。文件被看做是有序的字節(jié)流,以EOF結(jié)束。文件流可以分為輸入文件流、輸出文件流以及IO文件流。文件又可以分為文本文件和二進(jìn)制文件。通過文件流對象可以實(shí)現(xiàn)

28、文件的順序和隨機(jī)讀寫。四、章節(jié)考試大綱流的概念, C+語言中輸入輸出流類體系結(jié)構(gòu);輸入輸出流的格式化方法;文本文件和二進(jìn)制文件的輸入和輸出方法五、計(jì)劃學(xué)時(shí)5學(xué)時(shí)六、章節(jié)練習(xí)題1、什么是流?2、C+的流類結(jié)構(gòu)是怎樣的?第10章 異常處理和名字空間一、 教學(xué)內(nèi)容10.1 概述10.2 異常處理的實(shí)現(xiàn)10.3 異常處理中對象的構(gòu)造與析構(gòu)10.4 名字空間10.5 應(yīng)用實(shí)例二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解異常處理和名字空間的含義和作用;理解異常的概念、異常的產(chǎn)生和異常的處理機(jī)制;理解異常信號的傳遞方式,了解標(biāo)準(zhǔn)C+庫的異常類2. 熟練掌握異常處理和名字空間的用法,掌握throw、try和catch的用法;

29、3. 能運(yùn)用異常處理和名字空間編寫程序三、 章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):異常的概念,異常的產(chǎn)生和處理機(jī)制,異常信號的傳遞方式,名字空間的使用要點(diǎn):異常是指程序執(zhí)行過程中出現(xiàn)出現(xiàn)的錯(cuò)誤。C+語言的異常處理機(jī)制將異常的檢測和處理分離,用throw、try和catch實(shí)現(xiàn)。在try語句塊中用throw拋出異常,在catch語句塊中撲捉異常并進(jìn)行處理。名字空間用namespace定義,其中包含類、變量、函數(shù)等。名字空間在程序的全局作用域內(nèi)定義,可以擴(kuò)展。關(guān)鍵字using用于聲明程序要引入的名字空間成員。也可用作用域操作符:說明你、變量和函數(shù)等所在的名字空間。std是標(biāo)準(zhǔn)名字空間。四、 章節(jié)考試大綱異常處理和名

30、字空間的含義和作用;異常的概念、異常的產(chǎn)生和異常的處理機(jī)制;異常信號的傳遞方式,throw、try和catch的用法;能運(yùn)用異常處理和名字空間編寫程序五、 計(jì)劃學(xué)時(shí)六、 2學(xué)時(shí)七、 章節(jié)練習(xí)題1、什么是異常?2、異常處理的作用是什么?2、什么是名字空間?如何定義?第11章 C+標(biāo)準(zhǔn)模板庫一、 教學(xué)內(nèi)容11.1 STL 概述11.2 STL的使用11.3-5 迭代器、容器、算法基本概念11.6 string類型二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解標(biāo)準(zhǔn)模板庫STL的基本概念;了解標(biāo)準(zhǔn)模板庫STL的組成部分;理解容器的概念;理解迭代器的概念;理解算法的概念2. 熟練掌握string類型的使用三、 章節(jié)重點(diǎn)、

31、要點(diǎn)重點(diǎn):STL的基本概念;容器、迭代器和算法的概念以及相互之間的關(guān)系;string類型的使用要點(diǎn):STL是以C中的模板語法為基礎(chǔ)建立起來的一套包含基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和算法的代碼庫。STL的特點(diǎn)是類型參數(shù)化和泛型編程。STL的代碼從廣義上講分為三類:algorithm(算法)、container(容器)和iterator(迭代器),幾乎所有的代碼都采用了模板類和模版函數(shù)的方式,提供了更好的代碼重用機(jī)會。使用STL時(shí)必須在源代碼文件開頭加入:using namespace std; 容器元素的輸入輸出流頭文件為<iostream>,容器分為順序容器、適配器容器和關(guān)聯(lián)容器;常用的迭代器有it

32、erator、 const_iterator、 reverse_iterator、 const_reverse_iterator等;算法包括非可變序列算法、可變序列算法、排序相關(guān)算法和通用數(shù)值算法。string類型相當(dāng)于一個(gè)保存字符的序列容器,除了有字符串的一些常用操作以外,還有包含了所有的序列容器的操作。字符串的常用操作包括:增加、刪除、修改、查找比較、鏈接、輸入、輸出等。四、 章節(jié)考試大綱標(biāo)準(zhǔn)模板庫STL的基本概念;標(biāo)準(zhǔn)模板庫STL的組成部分;容器的概念;迭代器的概念;算法的概念;string類型的使用五、 計(jì)劃學(xué)時(shí)2學(xué)時(shí)六、 章節(jié)練習(xí)題1、什么是STL?2、什么是容器?什么是迭代器?什么

33、是算法?他們之間有何關(guān)系?第12章 面向?qū)ο筌浖O(shè)計(jì)一、 教學(xué)內(nèi)容12.1-12.2 面向?qū)ο蟮能浖こ袒靖拍?、特征、要素、對象模型、?shí)現(xiàn)12.3 圖書管理系統(tǒng)設(shè)計(jì)二、 章節(jié)學(xué)習(xí)目標(biāo)1. 理解軟件工程以及面向?qū)ο蟮能浖こ痰母拍?;理解面向?qū)ο蟮幕靖拍?、特征和要素;理解對象模型的作用三?章節(jié)重點(diǎn)、要點(diǎn)重點(diǎn):軟件工程和軟件生命周期,面向?qū)ο蟮幕靖拍睢⑻卣骱鸵匾c(diǎn):軟件是程序、支持程序運(yùn)行的數(shù)據(jù)以及與程序有關(guān)的文檔資料的完整集合。軟件過程是生產(chǎn)軟件的途徑,是為了獲得軟件產(chǎn)品而需要完成的一系列有關(guān)軟件工程的活動。軟件生命周期的階段包括:軟件計(jì)劃、需求分析、軟件設(shè)計(jì)、程序設(shè)計(jì)、軟件測試、軟件維

34、護(hù)。面向?qū)ο蟮幕靖拍畎ǎ簩ο蟆ο蟮臓顟B(tài)和行為、類、類的結(jié)構(gòu)以及消息和方法。面向?qū)ο蟮奶卣髦饕憩F(xiàn)在:對象惟一性、分類性、繼承性、多態(tài)性。面向?qū)ο蟮囊刂饕ǎ撼橄蟆⒎庋b性(信息隱蔽)、共享性。對象模型表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它是從客觀世界實(shí)體的對象關(guān)系角度來描述,表現(xiàn)了對象的相互關(guān)系。四、 章節(jié)考試大綱軟件工程以及面向?qū)ο蟮能浖こ痰母拍?;面向?qū)ο蟮幕靖拍?、特征和要素;對象模型的作用五?計(jì)劃學(xué)時(shí)2學(xué)時(shí)六、 章節(jié)練習(xí)題1、軟件的生命周期有那幾個(gè)階段?每個(gè)階段的主要任務(wù)是什么?2、面向?qū)ο蟮幕咎卣魇鞘裁矗?、面向?qū)ο蟮幕疽厥鞘裁矗?、對象模型的作

35、用是什么?考試樣題一、簡答題:(每題 5 分,共30 分)1什么是抽象類?它有什么特點(diǎn)?2在什么情況下應(yīng)該為一個(gè)類設(shè)計(jì)拷貝構(gòu)造函數(shù)?3C+中使用多態(tài)的前提條件是什么?5. 什么是類?類與結(jié)構(gòu)有和不同?6. 面向?qū)ο蟮奶卣饔心男??二、分析下面的代碼,回答問題1 分析下面的代碼,指出其中的錯(cuò)誤,說明理由并改正class C public: int fn1( int x ) dm = x ; private: int dm; ;void main ( ) C c;c.fn1(16 );cout << c.dm << n;2class BC public: BC( ) cout

36、 << "BC' constructorn" BC( ) cout << "BC' destructorn" ;class DC : public BC public: DC( ) cout << "DC' constructorn" DC( ) cout << "DC' destructorn" ;int main( ) DC d; return 0;三、根據(jù)要求編寫程序:1設(shè)計(jì)Person類,要求包含姓名、地址、身份證號碼等數(shù)據(jù)成員

37、以及對數(shù)據(jù)成員存取處理的成員函數(shù);再設(shè)計(jì)從Person類中派生的Student類和Professor類,分別為這兩個(gè)派生類設(shè)計(jì)合適的數(shù)據(jù)成員和成員函數(shù),并設(shè)計(jì)測試程序測試這些類。2設(shè)計(jì)復(fù)數(shù)類的加法運(yùn)算操作,使之能夠執(zhí)行下列運(yùn)算:( 10 分)Complex x(3,6), y(4,5), z(0,0);z = x + y;z=2.4 + x;z=y + 3.5附:章節(jié)練習(xí)題答案教材練習(xí)題請參考C+面向?qū)ο蟪绦蛟O(shè)計(jì)學(xué)習(xí)輔導(dǎo)第1章練習(xí)題答案1. 高級語言是如何被計(jì)算機(jī)識別的? 答:高級語言所編制的程序是不能直接被計(jì)算機(jī)識別的,一般通過解釋方式或者編譯方式,將源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言程序)

38、,然后才能被計(jì)算機(jī)識別并執(zhí)行。 2. 面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心和特點(diǎn)分別是什么? 答:面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心包括:抽象、封裝、對象、類、消息、繼承。 面向?qū)ο蟪绦蛟O(shè)計(jì)方法的特點(diǎn):程序是由一個(gè)個(gè)的對象組成的,對象之間通過消息而相互作用,程序設(shè)計(jì)的主要技巧在設(shè)計(jì)哪些類以及類之間的關(guān)系。程序的內(nèi)容可以說是由類對象和消息傳遞構(gòu)成。 3. C+程序的基本結(jié)構(gòu)是什么樣的? 答:C+程序由函數(shù)組成,函數(shù)由函數(shù)首部和函數(shù)體兩部分組成。C+程序的書寫必須符合一些基本的規(guī)則,以便于程序的閱讀、修改和相互交流。C+的輸入輸出操作由輸入/輸出流cin和cout來實(shí)現(xiàn),沒有專門的輸入/輸出語句。C+嚴(yán)格區(qū)分字母的

39、大小寫。C+的注釋可以在程序的任何位置插入,以增強(qiáng)程序的可讀性。C+的編譯預(yù)處理命令,程序要用到庫函數(shù)的時(shí)候要提前聲明。 4. 什么是編譯預(yù)處理語句? 答:將程序要用到的函數(shù)的頭文件通過編譯預(yù)處理語句來聲明,方便調(diào)用。 5. C+程序的開發(fā)步驟是什么? 答:C+程序的開發(fā)步驟是:分析問題、編輯程序、編譯程序、連接程序、運(yùn)行調(diào)試程序。 6. 輸入輸出 答:輸入輸出是程序的基本功能。C+的標(biāo)注輸入/輸出流庫用于數(shù)據(jù)的輸入輸出,用于輸入輸出的流庫包含在頭文件iostream.h中。輸出用運(yùn)算符“<<”,輸入用運(yùn)算符“>>”。 7. 指針 答:程序?qū)⒍x指向“地址”的變量,即指

40、針變量,簡稱為指針。指針是一類特殊的變量,它保存的不是一邊的數(shù)據(jù)值,而是程序中另一個(gè)對象在內(nèi)存中的地址。定義指針變量的目的是,通過指針變量間接的訪問變量。 8. 函數(shù)重載 答:所謂函數(shù)重載是指同一個(gè)函數(shù)名可以對應(yīng)多個(gè)函數(shù)的實(shí)現(xiàn)。函數(shù)重載要求編譯器能夠惟一的確定調(diào)用一個(gè)函數(shù)時(shí)應(yīng)執(zhí)行哪個(gè)函數(shù)代碼,即采用哪個(gè)函數(shù)實(shí)現(xiàn)。確定函數(shù)實(shí)現(xiàn)時(shí),要求從函數(shù)參數(shù)的個(gè)數(shù)和類型上來區(qū)分。這就是說,進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類型上不同。否則,將無法實(shí)現(xiàn)重載。第2章練習(xí)題答案1、聲明類的一般格式是什么? 答:class 類名 Private: 私有數(shù)據(jù)成員和成員函數(shù); Protected: 保

41、護(hù)數(shù)據(jù)成員和成員函數(shù); Public: 共有數(shù)據(jù)成員和成員函數(shù); ; 各個(gè)成員函數(shù)的實(shí)現(xiàn); 2、類成員的訪問權(quán)限有哪些? 答:在類聲明中,public、private和protected是關(guān)鍵字,稱為成員訪問限定符,它們分別表示公有、私有和保護(hù)的成員訪問權(quán)限。 Private:定義私有成員。私有數(shù)據(jù)成員只允許類內(nèi)函數(shù)訪問,私有成員函數(shù)只允許在類內(nèi)調(diào)用。類外函數(shù)不允許訪問私有數(shù)據(jù)成員,也不允許調(diào)用私有成員函數(shù)。 Public:定義公有成員。公有數(shù)據(jù)成員允許類內(nèi)或類外的函數(shù)訪問、公有成員函數(shù)允許在類內(nèi)或類外調(diào)用。 Protected:定義保護(hù)成員。保護(hù)數(shù)據(jù)成員只允許類內(nèi)或其子類中函數(shù)訪問、保護(hù)成員

42、函數(shù)允許在類內(nèi)或其子類中調(diào)用。其他函數(shù)不能訪問該類的保護(hù)數(shù)據(jù)成員,也不能調(diào)用該類的保護(hù)成員函數(shù)。3、類與對象的關(guān)系是什么? 答:類是將數(shù)據(jù)和數(shù)據(jù)操作函數(shù)結(jié)合于一個(gè)單元內(nèi)的機(jī)制,類構(gòu)成了c+面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ),是封裝的基本單元。對象是類的實(shí)例,類定義了屬于該類的所有對象的共同特性。也就是說類是一個(gè)數(shù)據(jù)類型,而對象就是數(shù)據(jù)類型的“變量”。4、類的構(gòu)造函數(shù)和析構(gòu)函數(shù)有何特點(diǎn)? 答:構(gòu)造函數(shù): 構(gòu)造函數(shù)的名字和雷的名字相同。 構(gòu)造函數(shù)沒有任何類型,既不屬于返回值函數(shù)也不屬于void函數(shù)。 類可以有多個(gè)構(gòu)造函數(shù),然而,一個(gè)類的所有構(gòu)造函數(shù)的名字都相同。 如果類有多個(gè)構(gòu)造函數(shù),則他們的參數(shù)是各不相同的

43、。 當(dāng)類對象創(chuàng)建時(shí),構(gòu)造函數(shù)會自動地執(zhí)行;由于他們沒有類型,不能像其他函數(shù)那樣進(jìn)行調(diào)用。 當(dāng)類對象說明時(shí)調(diào)用哪一個(gè)構(gòu)造函數(shù)取決于傳遞給它的參數(shù)類型。 析構(gòu)函數(shù): 析構(gòu)函數(shù)在類對象銷毀時(shí)自動執(zhí)行。 一個(gè)雷只能有一個(gè)析構(gòu)函數(shù),而且析構(gòu)函數(shù)沒有參數(shù)。 析構(gòu)函數(shù)的名字是“”加上類的名字(中間沒有空格)。 與構(gòu)造函數(shù)一樣,析構(gòu)函數(shù)也沒有任何類型,既不屬于返回值函數(shù)也不屬于void函數(shù)。它們不能像其他函數(shù)那樣被調(diào)用。5、什么是靜態(tài)成員?有何特點(diǎn)? 答:靜態(tài)成員包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。靜態(tài)成員是從屬于類的靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),不依賴于對象,為例解決了數(shù)據(jù)共享問題而產(chǎn)生的。 靜態(tài)成員都是放在類公

44、共區(qū)中,它們不是依賴于對象,而是依賴于類,所以沒有對象也能對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化,對靜態(tài)成員函數(shù)訪問。靜態(tài)數(shù)據(jù)成員必須初始化,而且對它的初始化不能在構(gòu)造函數(shù)中進(jìn)行。課本練習(xí)題 22.1 x=2,y=3x!=y2.2 x=2,y=32.3 constructing normallyconstructing with a number:20display a number:0display a number:20destructingdestructing2.4 n=2,sum=2n=3,sum=5n=5,sum=102.5 x=0,y=0x=1,y=2x=10,y=202.6 x=10,y=2

45、02.7 constructing object:x=1第3章練習(xí)題答案1、成員函數(shù)有何特點(diǎn)?答:const是函數(shù)類型的一個(gè)組成部分,因此在實(shí)現(xiàn)部分也要帶const關(guān)鍵詞。常成員函數(shù)不更新對象的數(shù)據(jù)成員,也不能調(diào)用該類中沒有用const修飾的成員函數(shù)。如果將一個(gè)對象說明為常對象,則通過該常對象只能調(diào)用它的常成員函數(shù),而不能調(diào)用其他成員函數(shù)。const關(guān)鍵詞可以參與區(qū)分重載函數(shù)。例如,在類中有如下說明: “void print(); void print() const;”,則這是對print的有效重載。2、什么時(shí)候需要使用初識化表?答:在一個(gè)類中說明了n個(gè)常數(shù)據(jù)成員,那么構(gòu)造函數(shù)就只能通過初始

46、化列表對該數(shù)據(jù)成員進(jìn)行初始化,3、什么是嵌套類?什么是局部類?答:可以在一個(gè)類聲明中聲明其他類,這種在其他類中聲明的類稱為嵌套類。一個(gè)類的聲明還可以是在某一個(gè)函數(shù)的定義中,這種類稱為局部類,局部類的聲明限制在函數(shù)定義中。局部類一般不包含靜態(tài)成員。4、簡述this指針的含義是什么?答: this是一個(gè)隱含于每一個(gè)類的成員函數(shù)的特殊指針,它是由VC+系統(tǒng)內(nèi)部設(shè)定的,不需要程序員另外定義,可以直接使用。該指針是一個(gè)指向正在被某個(gè)成員函數(shù)操作的對象的指針。第4章練習(xí)題答案1. 什么是友元?具有什么特點(diǎn)? 答:友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制。友元相當(dāng)于

47、給類的封裝開了一個(gè)小孔,通過它,可以看到類內(nèi)部的一些屬性。也可以說,友元是對數(shù)據(jù)隱蔽和封裝的挑戰(zhàn),但是考慮到數(shù)據(jù)共享的必要性,為了提高程序的效率,很多情況下破壞也是必要的,關(guān)鍵是需要在封裝性和效率之間找到一個(gè)好的平衡點(diǎn)。2. 友元關(guān)系具有什么特點(diǎn)? 答:(1)友元關(guān)系式不能傳遞的,B類是A類的友元,C類是B類的友元,C類和A類之間,如果沒有聲明,就沒有任何友元關(guān)系,不能進(jìn)行數(shù)據(jù)共享。(2)友元關(guān)系式單向的,如果聲明B類是A類的友元,B類的成員函數(shù)就可以訪問A類的私有和保護(hù)數(shù)據(jù),但A類的成員函數(shù)不能訪問B類的私有、保護(hù)數(shù)據(jù)。(3)友元關(guān)系式不能繼承的。例如:函數(shù)f()是類A的友元,類A派生出類B

48、,函數(shù)f()并不是類B的友元,除非在類B中作了特殊說明。3. 如何聲明友元函數(shù)? 答:聲明友元函數(shù)的方式是在類中用關(guān)鍵字friend聲明該函數(shù),其一般格式如下:friend 函數(shù)類型 友元函數(shù)名 (參數(shù)表);友元函數(shù)說明的位置可在類的任何地方,既可在public區(qū),也可在protected區(qū),意義完全一樣。友元函數(shù)的定義既可以放在類的外部,也可以放在類的內(nèi)部,一般與類的成員函數(shù)定義放在一起。課后練習(xí)題4.1 1,24.2 304.3n=1004.42第5章練習(xí)題答案1、什么是運(yùn)算符重載? 答:運(yùn)算符重載是對已有的運(yùn)算符賦予多重含義,同一個(gè)運(yùn)算符作用于不同類型的數(shù)據(jù)導(dǎo)致不同類型的行為,也就是用同

49、一個(gè)運(yùn)算符完成不同的運(yùn)算功能。2、 如何定義重載運(yùn)算符函數(shù)? 答:當(dāng)運(yùn)算符重載為類成員函數(shù)時(shí),可以有兩種形式:運(yùn)算符重載函數(shù)作為類的成員函數(shù)和作為類的友元函數(shù)。 運(yùn)算符重載函數(shù)作為類的成員函數(shù) 函數(shù)類型 operator 重載運(yùn)算符(形參表) 函數(shù)體; 運(yùn)算符重載函數(shù)作為類的友元函數(shù) friend 函數(shù)類型 operator 重載運(yùn)算符(形參表) 函數(shù)體;其中,“函數(shù)類型”指出重載運(yùn)算符的返回值類型,operator是定義運(yùn)算符重載函數(shù)的關(guān)鍵詞。3、定義重載運(yùn)算符函數(shù)的時(shí)候需要注意哪些問題? 答:不能改變運(yùn)算符的優(yōu)先級。 不能改變運(yùn)算符的結(jié)合性(例如,算術(shù)運(yùn)算符的結(jié)合性為從左到右,這一點(diǎn)不能改

50、變)。 默認(rèn)參數(shù)不能喝重載的運(yùn)算符一起使用,也就是說,在設(shè)計(jì)運(yùn)算符重載成員函數(shù)時(shí)不能使用默認(rèn)參數(shù)。 不能改變運(yùn)算符的操作數(shù)的個(gè)數(shù)。 不能創(chuàng)建新的運(yùn)算符,只有已有運(yùn)算符可以被重載。 運(yùn)算符作用于C+內(nèi)部提供的數(shù)據(jù)類型時(shí),原來含義保持不變。課本練習(xí)題5.1 n=105.2 10,205.3 i=10,d=0 i=2,d=15.65.4 n=10 n=305.5 1 2 3 4 5 6 7 8 9 10第6章練習(xí)題答案1、什么是模板? 答:模板把函數(shù)或類要處理的數(shù)據(jù)類型參數(shù)化,表現(xiàn)為參數(shù)的多態(tài)性。模板用于表達(dá)邏輯結(jié)構(gòu)相同,且具體數(shù)據(jù)元素類型不同的數(shù)據(jù)對象的通用行為,從而使得程序可以從邏輯功能上抽象,

51、把被處理的對象(數(shù)據(jù))類型作為參數(shù)傳遞。2、函數(shù)模板與函數(shù)有何關(guān)系? 答:函數(shù)模板是一個(gè)模板,其中用到通用類型參數(shù),不能直接執(zhí)行。函數(shù)是一個(gè)具體的函數(shù),有具體的程序代碼,可以執(zhí)行。函數(shù)模板是用來生產(chǎn)具體函數(shù)的。3、類模板與類有和關(guān)系? 答:類模板使用戶可以為類定義一種模式,使得類中的某些數(shù)據(jù)成員、成員函數(shù)的參數(shù)和返回值能取任意數(shù)據(jù)類型。類模板用于實(shí)現(xiàn)類所需數(shù)據(jù)的類型參數(shù)化。類是將數(shù)據(jù)和數(shù)據(jù)操作函數(shù)結(jié)合于一個(gè)單元內(nèi)的機(jī)制,是一種用戶自定義的數(shù)據(jù)類型。類模板是用來產(chǎn)生類的。課本練習(xí)題6.1 3,2.66.2 n=30 第7章練習(xí)題答案1、什么是繼承?繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)使代碼可以復(fù)用的最重要的手

52、段,它允許程序員在保持原有類特性的基礎(chǔ)上進(jìn)行擴(kuò)展,并增加功能。作為類的構(gòu)造機(jī)制,繼承通過擴(kuò)充、組合現(xiàn)有的類來構(gòu)造新的類。2、什么是派生?派生就是可以從一個(gè)類派生出另一個(gè)類,派生出其他類的類稱為基類或父類,被派生的類稱為派生類或子類。一個(gè)派生類可以從一個(gè)基類派生,也可以從多個(gè)基類派生。3、繼承方式有哪些?產(chǎn)生的結(jié)果是什么?繼承方式有公有繼承、私有繼承、保護(hù)繼承。當(dāng)繼承方式是公有繼承時(shí),基類的public和protected成員分別作為派生類的public和protected成員,派生類的其他成員可以直接訪問它們。當(dāng)繼承方式是私有繼承時(shí),基類public和protected成員被繼承后作為派生類的

53、私有成員,派生類的其他成員可以直接訪問它們,但是在類外部通過派生類的對象無法訪問它們。當(dāng)繼承方式是保護(hù)繼承時(shí),基類的public和protected成員被繼承以后作為派生類的保護(hù)成員,這樣派生類的其他成員就可以直接訪問它們,但在類外部通過派生類的對象無法訪問。4、什么是虛基類?當(dāng)在多條繼承路徑上有一個(gè)公共的基類,在這些路徑中的某幾條匯合處,這個(gè)公共的基類就會產(chǎn)生多個(gè)實(shí)例(或多個(gè)副本),若只想保存這個(gè)基類的一個(gè)實(shí)例,可以將這個(gè)公共基類說明為虛基類。課本練習(xí)題7.1 constructng Base class constructing sub class destructing sub class destructing Base class7.2 10,207.3 20,207.4 x=3,y=5 x=4,y=5 x=2,y=37.5 constructing class A constructing class B1 cons

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論