鄭大遠程教育-面向?qū)ο蟪绦蛟O(shè)計
《鄭大遠程教育-面向?qū)ο蟪绦蛟O(shè)計》由會員分享,可在線閱讀,更多相關(guān)《鄭大遠程教育-面向?qū)ο蟪绦蛟O(shè)計(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
鄭州大學現(xiàn)代遠程教育《 面向?qū)ο蟪绦蛟O(shè)計》課程考核要求說明:本課程考核形式為提交作業(yè),完成后請保存為 WORD格式的文檔,登陸學習平臺提交,并檢查和確認提交成功。一. 作業(yè)要求1.請獨立自主完成作業(yè)內(nèi)容。二. 作業(yè)內(nèi)容一) 、簡答題:(每題 5 分,共 30 分)1、異常處理的作用是什么?答:答:(1).try 和 catch 語句:將要處理的代碼放入 try 塊中,然后創(chuàng)建相應(yīng)的 catch 塊的列表。如果生成都異常與 catch 中提到的相匹配,那么 catch 條件中的塊語句就被執(zhí)行。try 塊后可能有許多catch 塊,每個都處理不同的異常。每個 catch 中的參數(shù)都是Exception 的子類。 (2).finally 語句:定義一個總是執(zhí)行的代碼,而不考慮異常是否被捕獲。(3).throw 引起一個異常。2、什么是容器?什么是迭代器?什么是算法?他們之間有何關(guān)系?答:容器:容器能夠通過模版的方法,裝下各種類型的節(jié)點元素。迭代器:迭代器是一種 smart pointer。迭代器是一種行為類似指針的對象。迭代器所指向的對象為容器 中元素(結(jié)構(gòu)體)的節(jié)點。如定義一個 class List 的容器,容器的節(jié)點為 ListItem,那么迭代器就應(yīng)該指向(的對象)容器中的 ListItem 節(jié)點。 而迭代器通過重載*(解引用)運算符,從而就可以得到節(jié)點的值。通過重載 operator->運算符就可以得到容器節(jié)點地址(指針)算法:算法通過操作容器對應(yīng)的迭代器,就可以間接地操作容器中的元素。而不需要關(guān)注容器的內(nèi)部細節(jié) 三者之間聯(lián)系: 每個容器都有專屬的迭代器,而算法通過迭代器對容器中的元素進行操作。3、什么是靜態(tài)成員?有何特點?答:在 c++類中聲明成員時可以加上 static 關(guān)鍵字,這樣聲明的成員就叫做靜態(tài)成員(包括數(shù)據(jù)成員和成員函數(shù)) 。靜態(tài)成員的特點是:不管這個類創(chuàng)建多少個對象,其靜態(tài)成員在內(nèi)存中只保留一份副本,這個副本為該類的所有對象所共享。面對對象方法中還有類屬性的概念,類屬性是描述類的所有對象共同特征的一個數(shù)據(jù)項對于任何對象實例,它的屬性值是相同的,C++通過靜態(tài)數(shù)據(jù)成員來實現(xiàn)類屬性。4、類的構(gòu)造函數(shù)和析構(gòu)函數(shù)有何特點?答:構(gòu)造函數(shù)主要用來對成員初始化和分配空間,析構(gòu)函數(shù)用于執(zhí)行一些清理任務(wù),如釋放分配給對象的內(nèi)存空間等。構(gòu)造函數(shù)有以下特點:(1)構(gòu)造函數(shù)的名字必須與類名相同;(2)構(gòu)造函數(shù)可以有任意類型的參數(shù),但不能具有返回類型;(3)定義對象時,編譯系統(tǒng)會自動地調(diào)用構(gòu)造函數(shù);(4)構(gòu)造函數(shù)是特殊的成員函數(shù),函數(shù)體可以在類體內(nèi),也可寫在類體外;(5)構(gòu)造函數(shù)被聲明為公有函數(shù),但它不能像其他成員函數(shù)那樣被顯式調(diào)用,它是在定義對象的同時被調(diào)用的。析構(gòu)函數(shù)有以下特點:(1)析構(gòu)函數(shù)的名字必須與類名相同,但它前面必須加一個波浪號~ ;(2)析構(gòu)函數(shù)沒有參數(shù),也沒有返回值,而且不能被重載,因此在一個類中只能有一個析構(gòu)函數(shù);(3)當撤銷對象時,編譯系統(tǒng)會自動地調(diào)用析構(gòu)函數(shù)。5、類成員的訪問權(quán)限有哪些?答:類成員的訪問權(quán)限:繼承有關(guān) public 此成員都可公開調(diào)用;protected 同包或?qū)^承的類才可公開調(diào)用,靜態(tài)成員也必須繼承后才能調(diào)用 A.a 或使用 public;friendly 對同包的類可以公開調(diào)用;private 只有本類實例成員方法才可調(diào)用。6、面向?qū)ο蟮幕疽厥鞘裁矗看穑撼橄?、繼承、封裝、多態(tài);二) 、分析下面的代碼,回答問題(每題 10 分,共 40 分)1.下面程序的執(zhí)行結(jié)果是什么?為什么?class B{protected:virtual void f( ){coutf()調(diào)用 C 中的 f。2.下面程序的執(zhí)行結(jié)果是什么?為什么?class A{public:int n;}class B:public A{};class C:public A{};class D:public B, public C{int getn(){ return B::n;};}void main(){D d;d.B::n=10;d.C::n=20;coutdisp();}void main(){B b;C c;Cdisp(Cdisp(}答:輸出:class B class C B 類和 c 類是 a 類的派生,p 作為參數(shù)時,是一個 A 的指針,但是編譯時,調(diào)的 disp 是各自繼承類成員函數(shù)。 所以輸出是 class B,class C。三、根據(jù)要求編寫程序:(每題 15 分,共 30 分)1. 設(shè)計一個父親類 Father、母親類 Mother 和子女類 Child,其主要數(shù)據(jù)是姓名,子女使用父親的姓,最后輸出子女的姓名和父母姓名。答:程序如下:#include #include using namespace std; class father{ public: father(){} father(string x,string m) { this->x=x; this->m=m; } void getx() { cout #include #include using namespace std; class Triangle { private: double x,y,z; double p,m; static double s; public: Triangle(double a,double b,double c) { x=a; y=b; z=c; p=(y+x+z)/2; m=sqrt(p*(p-x)*(p-y)*(p-z)); s=s+m; } void print() { cout>a>>b>>c) { cin>>a1>>b1>>c1; Triangle s1(a,b,c); Triangle s2(a1,b1,c1);s1.print(); s2.print(); Triangle::show(); } return 0; }- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 遠程教育 面向 對象 程序設(shè)計
鏈接地址:http://www.820124.com/p-324215.html