北外《面向對象技術C++》知識要點223679_第1頁
北外《面向對象技術C++》知識要點223679_第2頁
北外《面向對象技術C++》知識要點223679_第3頁
北外《面向對象技術C++》知識要點223679_第4頁
北外《面向對象技術C++》知識要點223679_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面向對象技術C++(知識要點)課程編號:BWCST3007 學籍號:學習中心:姓名:注意事項:1、本試卷滿分100分,考試時間120分鐘;2、請將答案一律寫在答題紙上。一、單選題(每題2分,共50分。).函數重載的目的是()。A、實現共享 B、使用方便,提高可讀性C、提高速度 D、減少空間.下面選項中不屬于面向對象程序設計特征的是()。A、繼承性 B、多態性 C、類比性 D、封裝性.下列關于虛基類的描述中,錯誤的是()。A、使用虛基類可以消除由多繼承產生的二義性B、聲明"classC:VirtualpublicA”說明類C為虛基類C、構造派生類對象時,虛基類的構造函數只被調用一次D、建立派生類對象時,首先凋用虛基類的構造函數.下列關鍵字中,()不是類中定義數據成員使用的關鍵字。A、static B、const C、extern D、double.下列對派生類的描述中,()是錯誤的。A、一個派生類可以作為另一個派生類的基類B、派生類至少應有一個基類C、基類中成員的訪問權限被派生類繼承后都不改變D、派生類的成員除了自己定義的成員外,還包含了它的基類成員6.下列符號中不屬于c++關鍵字的是()。A、friendB、namespaceC、continueD、byte7.下列()是C++語言的有效標識符。A、No1B、N0.1C、12345D、int8.while和do-while循環的主要區別是()。A、do-while的循環體至少無條件執行一次B、While的循環控制條件比do-while的循環控制條件更嚴格C、do-while允許從外部轉到循環體內D、do-while的循環體不能是復合語句.結構化程序的三種基本結構是()。A、遞歸、迭代和回溯C、順序、選擇和循環.()不是屬于面向對象程序設計的特性。A、抽象性 B、數據相關性.下列數組定義中錯誤的是()。A、Chars[5]="ABCDD”;B、過程、函數和子程序D、調用、返回和選擇C、多態性 D、繼承性B、Chars[6]="ABCDD”;C、Chars[7]="ABCDD”;D、Chars[]="ABCDD”;.關于多繼承二義性的描述,()是錯誤的。A、派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現二義性B、如果一個派生類是從具有兩個同名間接基類的兩個直接基類派生來的,則派生類對該公共基類的訪問可能出現二義性C、解決二義性最常用的方法是使用作用域運算符對成員進行限定D、派生類和它的基類中出現同名函數時,將出現二義性.可以用p.a的形式訪問派生類對象P的基類成員a,其中a是()。A、私有繼承的公有成員 B、公有繼承的保護成員C、公有繼承的私有成員 D、公有繼承的公有成員.已知枚舉類型聲明語句為:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=9};則下列說法中錯誤的是()。A、枚舉常量YELLOW的值為1 B、枚舉常量RED的值為6C、枚舉常量BLACK的值為9 D、枚舉常量WHITE的值為1.已有定義:chara[]="Love",b[]={'L','o','v','e'};,以下敘述中正確的是()A、數組a和b的長度相同 B、a數組長度小于b數組長度C、a數組長度大于b數組長度 D、上述說法都不對.以下關于運算符優先順序的描述中正確的是()。A、關系運算符〈算術運算符〈賦值運算符〈邏輯運算符B、邏輯運算符〈關系運算符〈算術運算符〈賦值運算符C、賦值運算符〈邏輯運算符〈關系運算符〈算術運算符D、算術運算符〈關系運算符〈賦值運算符〈邏輯運算符.關于純虛函數和抽象類的描述中,()是錯誤的。A、純虛數是一種特殊的虛函數,它沒有具體實現B、抽象類中一定具有一個或多個純虛函數C、抽象類的派生類中一定不會再有純虛函數D、抽象類一般作為基類使用,使純虛函數的實現由其派生類給出.()是析構函數的特征。A、一個類中可以定義多個析構函數 B、析構函數名與類名相同C、析構函數的定義只能在類體內 D、析構函數可以有一個或多個參數.關于下列虛函數的描述中,()是正確的。A、虛函數是一個Static存儲類的成員函數B、虛函數是一個非成員函數C、基類中說明了虛函數后,派生類中可不必將對應的函數說明為虛函數D、派生類的虛函數與基類的虛函數應具有不同的類型或個數.在派生類中重新定義虛函數時必須在()方面與基類保持一致。A、參數個數 B、參數值 C、參數名字 D、函數內容.下面的語句中能將類B定義為類A的友元類的是()。classA{friendclassB}friendclassBclassA{classB}classB{friendclassA}.對于類定義classA{public:virtualvoidfunc1(){}voidfunc2(){}};classB:publicA{public:voidfunc1(){cout<<〃classBfunc1〃<<end1;}virtualvoidfunc2(){cout<<''classBfunc2〃<<end1;}};下面正確的敘述是()A、A::func2()和B::func1()都是虛函數B、A::func2()和B::func1()都不是虛函數C、B::func1()是虛函數,而A::func2()不是虛函數D、B::func1()不是虛函數,而A::func2()是虛函數.下面的函數聲明中,()是“voidCZ(inta,intb);"的重載函數。A、intCZ(intx,inty);B、voidCZ(inta,floatb);C、floatCZ(inta,intb,intc=0);D、intCZ(inta,intb=0);.在私有繼承的情況下,基類成員在派生類中的訪問權限()。A、受限制 B、保持不變 C、受保護 D、不受保護.執行語句k=30j=k++;后k和j的值分別為()。A、k=30,j=30 B、k=30,j=31C、k=31,j=30 D、k=31,j=31二、是非題(正確的填寫“T”,錯誤的填寫“F”。每題1分,共20分。).一般類的定義格式分為說明部分和實現部分。.在C++中,設置參數默認值只能在定義函數時設置。.帶有純虛函數的類是抽象類。.子對象是類的一種數據成員,它是另一個類的對象。.在C++中,函數名實際上是一個指針,它指向函數的入口。.抽象類中只能有一個純虛函數。.子對象是類的一種數據成員,一個類中只能含有一個子對象作其成員。.類中被說明為protected和PriVate的成員只能被其派生類的成員函數訪問,不能被其它的函數訪問。.函數代碼小,頻繁調用情況下適宜采用inline定義內聯函數。.對象數組的元素可以是不同類的對象。.函數的參數個數和類型都相同,只是返回值不同,這不是重載函數。.引用和指針都可作函數參數。.break語句也可以用于if體內,它可退出if語句。.對于任意正確定義的類,都可以構造出該類型的對象。.程序中可以說明抽象類的指針或引用,但是不能說明抽象類的對象。.若要實例化一個含有引用型數據成員的類,那么只能使用構造函數初始化列表來初始化該數據成員。.?號不能在C++中重載。.運算符重載是為了改變優先級。.友元類是被定義在某個類中的嵌套類。.友元函數只能訪問類的私有成員,不能訪問公有和保護成員。三、問答題(每題15分,共30分。)1.寫出下面程序運行的結果,并說明語句(1)和(2)分別調用的是哪個print()函數,并解釋原因。#include<L□Ξtream>usingnamespace≡td;assA(nta;p?ublic:?():a(9){] “virtualvoidprint0const{cout<<aJ;//printC)S8?l);classB:publicA{charb;public:BOfc=,Ξ,Jv□idprint0const{ //pzrirι土C函數2cout<<b;]};int.InaiELO(Adl,?;BdΞ:p=fedΞ;dl.printO; //語句(I)dΞ.print0;p->printθ: /7語句0)return0; }.AbstraCtC類定義如下。classAbstraCtC{public:virtualdoublearea()=0;};⑴從AbStraCtC類派生圓類(CirCle)、正方形類(Square),圓類新增數據成員半徑(r),正方形類新增數據成員邊長(a),圓類和正方形類都有構造函數,修改、顯示數據成員值的函數,求面積函數。⑵寫出main()函數,分別計算半徑為5的圓和邊長為5的正方形的面積。面向對象技術C++(知識要點)答案、單選題(每題2分,共50分。)1B2C3B4C5C6D7A8A9C10B11121314151617181920ADDDCCCBCA2122232425A二、是非C3題(正確的BJ填寫“TA",錯誤C的填寫“F"。每題口分,共22分。)12345678910TFTTTFFFTF11121314151617181920TTTFTTTFFF三、問答題(每題15分,共30分。).寫出下面程序運行的結果,并說明語句⑴和(2)分別調用的是哪個Printo函數,并解釋原因。tfintlude<i□≡treani>usingnamespace≡td;¢13.55?(inta;public:?θ;a(9){} ,,virtualvoidprint()const{cout<<a;3;//PriiTt?0函數]cla≡≡B:publicA(charb;public:BOfc=,Ξ,Jv□idprint()const{ //PHiιι^tC函數2cout<<b;});intmain(){Adl,?;BdΞip=fedΞ:dl.printO; /7語句C1)dΞ.print0;p->printθ:〃語句(2)return0; }答案:輸出結果是9SS。d1是A類的對象,語句(1)會調用類A的Print函數,即PrintO函數1。P是d2對象的引用,d2是B類的對象,因此會調用B類的Print函數,即Printo函數2。寫出結果得6分,語句1的調用3分,語句3分調用3分。.AbStraCtC類定義如下。classAbstractC{Public:virtualdoublearea。=。;};⑴從AbStraCtC類派生圓類(CirCIe)、正方形類(Square),圓類新增數據成員半徑(r),正方形類新增數據成員邊長(a),圓類和正方形類都有構造函數,修改、顯示數據成員值的函數,求面積函數。⑵寫出main()函數,分別計算半徑為5的圓和邊長為5的正方形的面積。答案:Circle類的定義:classQTcIe;PlJbbCAbetractC{pπvate:doubler;public:CinclefdajbleR=0.0)[r=R;} 〃構造函麴voidSetRJdojbIeR){r=R;} "修改半徑圖數voidShσwR()]cout<<llr=11<<r<<CrIdI; }〃顯示半徑圖Sildoublearea()(returnm,141592b*產r;}};“面積計算函數WqUarC類的定義:class5quare:publicAbstnactC{private:doublea;public:Squm⑶ChLlhlgM=0.0){a=

溫馨提示

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

評論

0/150

提交評論