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

下載本文檔

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

文檔簡介

面向對象技術C++(知識要點)課程編號:BWCST3007 學籍號:學習中心: 姓名:注意事項:1、本試卷滿分100分,考試時間120分鐘;2、請將答案一律寫在答題紙上。一、單選題(每題2分,共50分。)1.下列有關運算符函數的描述中,錯誤的是(A、運算符函數的名稱總是以。Perator為前綴B、運算符函數的參數可以是對象C、運算符函數只能定義為類的成員函數)D、在表達式中使用重載的運算符相當于調用運算符重載函數2.執(zhí)行下列語句后的輸出結果是()。intcool=100;intrad=cool;int&cat=Coolcool+=100;cout<<rad<<","<<cat<<endl;A、200,100B、100,200C、100,100D、200,03.下列描述中,抽象類的特征有()。A、可以說明虛函數B、可以構造函數重載C、可以定義友員函數D、不能說明其對象4.若要將類AClass定義為BClass的友元類,則應該在()類中定義。A、AClassB、BClassC、二個類中都應定義D、在兩個類之外定義5.用來說明類中公有成員的關鍵字是()。A、publicB、privateC、protectedfriendD、friend.下列關于構造函數的描述中,錯誤的是()。A、構造函數可以設置默認參數;B、構造函數在聲明對象時自動執(zhí)行;C、構造函數可以對靜態(tài)數據成員進行初始化;D、構造函數可以重載;.若X是一個bool型變量,則X&&5?3的值()。A、為true B、為false C、與X的值相同 D、與X的值相反.類的析構函數是在()調用的。A、類創(chuàng)建時 B、創(chuàng)建對象時 C、刪除對象時 0、不自動調用.關于new運算符的下列描述中,()是錯誤的。A、它可以用來動態(tài)創(chuàng)建對象和對象數組B、使用它創(chuàng)建的對象可以使用運算符delete刪除C、使用它創(chuàng)建對象時要調用構造函數D、使用它創(chuàng)建對象數組時必須要指定初始值.main()函數可以訪問派生類的對象中它的哪一類基類成員?()A、公有繼承的基類的公有成員 B、公有繼承的基類的保護成員C、公有繼承的基類的私有成員 D、保護繼承的基類的公有成員.有如下程序段:inti=5;while(inti=0){cout<<"*";i--;}運行時輸出“*”的個數是 ( )A、0 B、2 C、3 D、5.從程序片斷:inta=5;course(a);可判斷函數course的調用采用的是()。A、傳值調用 B、帶缺省參數值的函數調用C、引用調用 D、傳址調用.在C++語言中,能代表邏輯值“真”的是()。A、0 B、大于0的數或非0整數C、非0整數 D、非0的數.可以用p.b的形式訪問派生類對象P的基類成員b,其中b是()。A、私有繼承的公有成員 B、公有繼承的私有成員C、公有繼承的保護成員 D、公有繼承的公有成員.執(zhí)行下列語句后變量X和y的值是()。y=15;x=y++;A、x=15,y=15 B、x=16,y=16C、x=15,y=16 D、x=16,y=15.動態(tài)內存分配的主要目的是()。A、使程序按動態(tài)方式運行 B、正確合理的使用內存C、提高程序的運行速度 D、提高程序的可讀性.執(zhí)行語句k=10j=k++;后k和j的值分別為()。A、k=10,j=10 B、k=10,j=11C、k=11,j=10 D、k=11,j=11.友元關系不能()?A、繼承 B、是類與類的關系C、是一個類的成員函數與另一個類的關系D、提高程序的運行效率.如果一個類的成員函數read()不修改類的數據成員值,則應將其聲明為()。A、voidread()constB、constvoidread();C、voidconstread();D、voidread(Const);.在C++程序中,如果要求通過函數來實現一種簡單的功能,并且要求盡可能加快程序執(zhí)行速度,則應該選用()。A、內聯(lián)函數 B、重載函數 C、遞歸調用 D、嵌套調用.若:inta[4][5]={0};則下面正確的敘述是()。A、只有元素a[0][0]可得到初值0B、此說明語句不正確C、數組a中各元素都可得到初值,但其值不一定為0D、數組a中每個元素均可得到初值0.下面對靜態(tài)數據成員的描述中,正確的是()。A、靜態(tài)數據成員由類的所有對象共享的B、類的每一個對象都有自己的靜態(tài)數據成員C、類的不同對象有不同的靜態(tài)數據成員值D、靜態(tài)數據成員不能通過類的對象調用.以下定義數組中錯誤的是()。A、inta[10];B、inta[2][20];C、inta[20][];D、inta[20];.c++語言類體系中,不能被派生類繼承的有()。A、轉換函數 B、構造函數 C、虛函數 D、靜態(tài)成員函數.派生類中對基類的虛函數進行替換時,派生類中說明的虛函數與基類中的被替換的虛函數之間不要求滿足的是()。A、與基類的虛函數具有不相同的參數個數B、其參數的類型與基類的虛函數的對應參數類型相同C、派生類虛函數所返回的指針或引用的基類型是基類中被替換的虛函數所返回的指針或引用的基類的子類型D、其返回值或者與基類的虛函數相同,或者都返回指針或引用二、是非題(正確的填寫“T”,錯誤的填寫“F”。每題1分,共20分。).使用new運算符創(chuàng)建對象數組時必須指定初始值。.類B從類A公有繼承,則程序段Aa;B&b=a;不會引發(fā)編譯錯誤。.delete運算符必須用于new返回的指針。.構造函數的功能是對對象進行初始化。.如果派生類的成員函數的原型與基類中被定義為虛函數的成員函數原型相同,那么,這個函數自動繼承基類中虛函數的特性。.子對象是類的一種數據成員,可以是自身類的對象。.對象數組的每個元素都是相同類的對象。.說明靜態(tài)數據成員時前邊要加修飾符Static。.C++中的所有函數調用都是傳值調用。.靜態(tài)數據成員要在類體外進行初始化。.虛函數是為實現某種功能而假設的函數,派生類的虛函數定義影響其基類,而基類的虛函數定義不影響其派生類。.假定AB為一個類,則執(zhí)行“ABa[10];”語句時,系統(tǒng)自動調用該類的構造函數的次數為1次。.類的靜態(tài)數據成員需要在定義每個類的對象時進行初始化。(.C++中,數組下標從1開始。.C++語言支持封裝性和繼承性,不支持多態(tài)性。.析構函數名可以與類名不同。.C++允許對字符串進行整體操作。.運算符重載是為了改變語法結構。.類B從類A公有繼承,則程序段Aa;B&b=a;會引發(fā)編譯錯誤。.inti,*p=&i;上述語句是正確的。問答題(每題15分,共30分。)1.2.已定義一個Shape抽象類,在此基礎上派生出矩形Rectangle和圓形Circle類,二者都有GetPerimValue()函數計算對象的周長,并編寫測試main()函數。Shape抽象類定如下:classShape{public:Shape(){}~Shape(){}virtualfloatGetPerimValue()=0;}面向對象技術C++(知識要點)答案、單選題(每題2分,共50分。)12345678910CBDBABCCDA111213141516171819202122232425DACBA二、是非題(正確的填寫“T”,錯誤的填寫“F”。每題1分,共20分。)1F2F3F4T5T6F7T8T9F10T11121314151617181920FFFFFFTFTT三、問答題(每題15分,共30分。)1.答案:(1)程序運行結果是5103每個答案3分(2)my1.set(::number);調用的是全局變量。(3分)(3)初始化對象my1時會調用構造函數,由于沒有定義構造函數,所以會調用系統(tǒng)默認的構造函數。(3分)2.已定義一個ShaPe抽象類,在此基礎上派生出矩形ReCtangle和圓形CirCle類,二者都有GetPerimValue()函數計算對象的周長,并編寫測試main()函數。ShaPe抽象類定如下:classShape{public:ShaPeO{}~Shape(){}virtualfloatGetPerimValue()=0;}答案:Rectangle類的定義:classRectangle:publicShape{public:Rectangle(floati,floatj){L=i;W=j;}~Rectangle(){}floatGetPerimValueO{return2*(L+W);}private:floatL,W;}; (5分)

溫馨提示

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

評論

0/150

提交評論