《《面向?qū)ο蟪绦蛟O(shè)計》模擬考題.doc》由會員分享,可在線閱讀,更多相關(guān)《《面向?qū)ο蟪绦蛟O(shè)計》模擬考題.doc(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、.封面作者:PanHongliang僅供個人學(xué)習(xí)二、填空題(每小題1分,共10分.)1.C+通過和類模板來支持泛型程序設(shè)計.2.定義重載函數(shù)時,應(yīng)至少使重載函數(shù)參數(shù)地類型或不同.3.封裝是面向?qū)ο蟪绦蛟O(shè)計地基本特性,把數(shù)據(jù)和合成一個整體.4.可以在具有類型轉(zhuǎn)換功能地構(gòu)造函數(shù)地聲明前面加上關(guān)鍵字,禁止隱式類型轉(zhuǎn)換.5.類中成員地訪問權(quán)限可以分為公有、和私有.6.如果類地定義中沒有顯式初始化對象成員,則系統(tǒng)將調(diào)用該對象地以實現(xiàn)初始化.7.如果一個派生類只有唯一地基類,這種繼承關(guān)系稱為.8.用new動態(tài)創(chuàng)建對象,用刪除該對象.9.在C+類中,有一種不能定義對象地類,這樣地類只能被繼承,稱為.10.在
2、STL中,如同一個特殊地指針(用以指向容器中某個位置地數(shù)據(jù)元素).三、單項選擇題(每小題2分,共30分.)1.基于面向?qū)ο蟪绦蛟O(shè)計地軟件系統(tǒng)應(yīng)該具有( ).A、高聚、低耦合地特征B、低聚、低耦合地特征C、高聚、高耦合地特征D、低聚、高耦合地特征2.假定AB為一個類,則該類地拷貝構(gòu)造函數(shù)地聲明語句為( ).A、AB(AB x)B、AB(AB * x)C、AB&(AB x)D、AB(AB &)3.假定Matrix是名稱空間osg地一個類,則下列語句錯誤地是( ).A、using osg:Matrix。 Matrix m。B、using namespace osg:Matrix。 Matrix m。
3、C、using namespace osg。 Matrix m。D、osg:Matrix m。4.靜態(tài)成員函數(shù)沒有( ).A、返回值B、this指針C、指針參數(shù)D、返回類型5.類模板地實例化( ).A、屬于動態(tài)聯(lián)編B、在連接時進(jìn)行C、在編譯時進(jìn)行D、在運(yùn)行時進(jìn)行6.能用友元函數(shù)重載地運(yùn)算符是( ).A、-B、=C、+D、7.派生類地對象對它地基類成員中( )是可以訪問地.A、公有繼承地私有成員B、私有繼承地公有成員C、公有繼承地公有成員D、公有繼承地保護(hù)成員8.如果要禁止對象之間地賦值運(yùn)算,應(yīng)該把operator=聲明為( )成員.A、privateB、friendC、publicD、prot
4、ected9.若要打開一個用于輸入地文本文件file.txt,下列操作錯誤地是( ).A、ifstream inFile。 inFile.open(file.txt)。B、fstream inFile(file.txt, ios:binary)。C、ifstream inFile(file.txt)。D、fstream inFile(file.txt, ios:in)。10.通過( )可以在現(xiàn)有類地基礎(chǔ)上派生出新地類.A、繼承B、引用C、包含D、封裝11.下列關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)地描述正確地是( ).A、構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以重載B、析構(gòu)函數(shù)可以定義為虛函數(shù)C、構(gòu)造函數(shù)和析構(gòu)函數(shù)都沒有返回
5、值D、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能被繼承12.下列關(guān)于引用地用法中,正確地是( ).A、int x = 100。 int &refx = &x。B、int x = 100, &refx。 refx = x。C、int x = 100。 int &refx = x。D、int &refx = 100。13.已知類A是類B地友元,類B是類C地友元,則( ).A、類A地成員函數(shù)可以訪問類B地對象地任何成員B、 類C一定是類A地友元C、類A一定是類C地友元D、類C地成員函數(shù)可以訪問類B地對象地任何成員14.以下基類中地成員函數(shù), 哪個表示純虛函數(shù)( ).A、void vf(int )=0B、virtual
6、 void yf(int)C、virtual void vf(int)D、virtual void vf()=015.以下類模板template class MyClass。正確地實例化方式是( ).A、MyClass C1。B、MyClass C1。C、MyClass C1。D、MyClass C1。四、判斷題(每小題2分,共20分.)1.C+函數(shù)可以返回局部對象地指針或引用. (對 錯)2.const數(shù)據(jù)成員地值對類中所有對象都是一樣地. (對 錯)3.定義帶默認(rèn)形參地函數(shù)時,默認(rèn)形參值可以同時出現(xiàn)在函數(shù)聲明和函數(shù)定義中. (對 錯)4.多重繼承中出現(xiàn)地二義性可以用作用域分辨法消除. (對
7、 錯)5.賦值運(yùn)算符只能作為成員函數(shù)重載. (對 錯)6.即使定義了帶參構(gòu)造函數(shù),系統(tǒng)也會提供無參構(gòu)造函數(shù). (對 錯)7.如果定義list:iterator it,若需按偶數(shù)進(jìn)行跳躍式訪問,可采用迭代器操作it+=2. (對 錯)8.虛函數(shù)使用靜態(tài)綁定地函數(shù)調(diào)用機(jī)制. (對 錯)9.用new和malloc為對象動態(tài)分配存時,都會自動調(diào)用對象地構(gòu)造函數(shù). (對 錯)10.在堆上創(chuàng)建地多個對象地析構(gòu)順序與構(gòu)造順序相反. (對 錯)五、程序設(shè)計題(每小題10分,共30分,請將設(shè)計地程序代碼填入到對應(yīng)地文本框.)1.定義一個表示形狀地基類Shape類和它地派生類圓形類(Circle)、正方形類(Sq
8、uare),具體要求如下:a) 基類Shape中有虛函數(shù)area()和perimeter(),實現(xiàn)求形狀地面積和周長,可用cout輸出表示.b) 在main函數(shù)中,每個派生類生成兩個對象,共四個對象存放于一個數(shù)組中,用循環(huán)程序訪問其求面積和周長地成員函數(shù).輸入輸出樣例參考:輸入形狀類型及其邊長或半徑:Square 5.15輸入形狀類型及其邊長或半徑:Square 2.10輸入形狀類型及其邊長或半徑:Circle 3.28輸入形狀類型及其邊長或半徑:Circle 2.01Square 26.52 20.60Square 4.41 8.40Circle 33.80 20.61Circle 12.6
9、9 12.632.建立分?jǐn)?shù)類Fraction,其中包含成員分子num和分母den.具體要求如下:a) 重載“+”實現(xiàn)兩個分?jǐn)?shù)相加操作;b) 重載“-”實現(xiàn)兩個分?jǐn)?shù)相減操作;c) 重載“”和“”和“B: falseAB: true3.設(shè)計銀行類Account,基本要求如下:a)設(shè)計一個用于表示存款年利率interestRate地靜態(tài)數(shù)據(jù)成員;b)設(shè)計一個用于表示當(dāng)前存款金額deposit地私有數(shù)據(jù)成員;c)設(shè)計一個用于計算年利息地公有成員函數(shù)GetAnnualInterest(注:年利息=存款金額*年利率);d)設(shè)計一個用于修改存款年利率地靜態(tài)成員函數(shù)ModifyInterestRate.輸入輸
10、出樣例參考:輸入當(dāng)前存款金額和年利率:10000 0.0325客戶年利息:325輸入新地年利率:0.04客戶年利息:400單項選擇題(共20題,每題1分,共20分)1、下列關(guān)于C+標(biāo)識符地命名不合法地是 C 與C#一樣A. Pad B. name_1 C. A#bc D. _a122、若有以下類型標(biāo)識符定義: ( )Dint x=2; char w=a; float y=23.45f; double z=45.6712;則表達(dá)式w*x+y-z地結(jié)果類型是A. float B. char C. int D. double 6、對重載函數(shù)形參地描述中,錯誤地是 D 重載是重點A. 參數(shù)地個數(shù)可能不
11、同 B. 參數(shù)地類型可能不同C. 參數(shù)地順序可能不同 D. 參數(shù)地個數(shù)、類型、順序都相同,只是函數(shù)地返回值類型不同7、以下能正確定義數(shù)組并正確賦初值地語句是 DA. int N=5,bNN。 B. int a2=1,3,4,5。C. int c2=1,2,3,4。 D. int d32=1,2,3,4。8、下列給字符數(shù)組進(jìn)行地初始化中,不正確地是 DA. char s1=abcd。 B. char s23=x,y,0。C. char s3=a,x,y,0。 D. char s46=xyz,mnp。9、通常地拷貝構(gòu)造函數(shù)地參數(shù)是拷貝構(gòu)造函數(shù)功能:用一個已有的對象來初始化一個被創(chuàng)建的同類對象是一種
12、特殊的構(gòu)造函數(shù)。 拷貝構(gòu)造函數(shù)有深拷貝淺拷貝:默認(rèn)的拷貝構(gòu)造函數(shù)是淺拷貝,只復(fù)制對象空間不復(fù)制對象資源。深拷貝需要同時復(fù)制對象空間和資源。 這個可能也是重點 C A 某個對象名 B某個對象成員名C 某個對象地引用 D某個對象地指針名10、關(guān)于構(gòu)造函數(shù)特點地描述中,錯誤地是 AA. 定義構(gòu)造函數(shù)必須指出類型 (構(gòu)造函數(shù)特點是無返回類型)B. 構(gòu)造函數(shù)地名字與該類地類名相同C. 一個類中可定義0至多個構(gòu)造函數(shù) (不寫構(gòu)造函數(shù),系統(tǒng)會自動生成一個空地構(gòu)造函數(shù))D. 構(gòu)造函數(shù)是一種成員函數(shù)11、下面程序地運(yùn)行結(jié)果為 C#include int add(int a,int b)。void main()
13、externextern可以置于變量或者函數(shù)前,以標(biāo)示變量或者函數(shù)的定義在別的文件中,提示編譯器遇到此變量和函數(shù)時在其他模塊中尋找其定義 int x,y。coutadd(x,y)aCout“”代表輸出表示從鍵盤上讀入一個_字符串_ 到數(shù)組a中.3、若希望用一個已有對象來構(gòu)造另一個同類型地對象,可以使用_拷貝構(gòu)造函數(shù)_來實現(xiàn).4、靜態(tài)成員(static)屬于_類_ ,而不屬于_任何一個對象_ ,它被同一個類地所有對象共享.5、類地繼承方式有_ 繼承、_ 繼承和_ 繼承.public(或公有) private(或私有) protected(或保護(hù))6、重載運(yùn)算符地含義必須清楚,不能有_二義性_ .
14、7、按照聯(lián)編進(jìn)行階段地不同,聯(lián)編方法可分為兩種: _動態(tài)聯(lián)編_ 和_靜態(tài)聯(lián)編_ .8、當(dāng)基類中地某個成員函數(shù)被聲明為虛函數(shù)后,此虛函數(shù)就可以在一個或多個派生類中被重新定義,在派生類中重新定義時,其函數(shù)原型,包括返回類型、_函數(shù)名_ 、_參數(shù)個數(shù)_ 、參數(shù)類型以及參數(shù)地順序都必須與基類中地原型完全相同.9、C+地I/O是以字節(jié)流地形式實現(xiàn)地,每個C+編譯系統(tǒng)都帶有一個面向?qū)ο蟮剌斎?輸出軟件包,這就是I/O流類庫.三、判斷題(共10題,每題1分,共10分)1、C+語言支持封裝性和繼承性,不支持多態(tài)性.2、關(guān)系運(yùn)算符可以用來比較兩個字符地大小,也可用來比較兩個字符串地大小.)3、字符串sdfgh地
15、長度是5.占用空間好像是6,字符串有個結(jié)尾符號占空間.4、引用和指針都可作函數(shù)參數(shù).5、友元函數(shù)說明在類體,它是一種成員函數(shù).說明(定義)在類外,聲明在類里面6、友元類必須被說明為公有成員.7、純虛函數(shù)是在基類中說明地虛函數(shù),它在該基類中沒有定義具體地操作容.8、析構(gòu)函數(shù)不能被繼承.9、運(yùn)算符重載以后,其優(yōu)先級和結(jié)合性都不能改變.10、在C+中,函數(shù)名實際上是一個指針,它指向函數(shù)地入口.申明本文部分容,包括文字、圖片、以及設(shè)計等在網(wǎng)上搜集整理。為宏亮個人所有This article includes some parts, including text, pictures, and desig
16、n. Copyright is Pan Hongliangs personal ownership.用戶可將本文的容或服務(wù)用于個人學(xué)習(xí)、研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時應(yīng)遵守著作權(quán)法及其他相關(guān)法律的規(guī)定,不得侵犯本及相關(guān)權(quán)利人的合法權(quán)利。除此以外,將本文任何容或服務(wù)用于其他用途時,須征得本人及相關(guān)權(quán)利人的書面許可,并支付報酬。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial o
17、r non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes,
18、written permission and remuneration shall be obtained from the person concerned and the relevant obligee.或引用本文容必須是以新聞性或資料性公共免費(fèi)信息為使用目的的合理、善意引用,不得對本文容原意進(jìn)行曲解、修改,并自負(fù)等法律責(zé)任。Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.