面向對象程序設計習題及答案_第1頁
面向對象程序設計習題及答案_第2頁
面向對象程序設計習題及答案_第3頁
面向對象程序設計習題及答案_第4頁
面向對象程序設計習題及答案_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

付費下載

VIP免費下載

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

文檔簡介

面向對象程序設計選擇填空關于C++與C語言的關系描述中,(D)是錯誤的。(A)C語言是C++的一個子集(B)C語言與C++是兼容的(C)C++對C語言進行了一些改善(D)C++和C語言都是面向對象的下面關于對象概念的描述中,(B)是錯誤的。(A)對象就是C語言的結構變量(B)對象代表著正在創建的系統中的一個實體(C)對象是一個狀態的操作(或方法)的封裝體(D)對象之間的信息傳遞是通過消息進行的下面關于類概念的描述中,(D)是錯誤的。(A)類是抽象數據類型的實現(B)類是具有共同行為的若干對象的統一描述體(C)類是創建對象的樣板(D)類就是C語言的結構類型按照標記符的規定,(A)符號不能組成標記符。(A)連接符(B)下劃線(C)大小寫字母(D)數字字符下列符號中,(C)不可作為分隔符。(A),(B):(C)?(D);在16位機中,int型字寬為(A)字節。(A)2(B)4(C)6(D)8類型修飾符unsigned修飾(D)類型是錯誤的。(A)char(B)int(C)longint(D)float對于int*pa[5];的描述,(D)是對的的。(A)pa是一個指向數組的指針,所指向的數組是5個int型元素(B)pa是一個指向某數組中第5個元素的指針,該元素是int變量(C)pa[5]表達某個數組的第5個元素(D)pa是一個具有5個元素的指針數組,每個元素是一個int型指針。下列關于指針的運算中,(D)是非法的。兩個指針在一定條件下,可以進行相等或不等的運算。可以有一個空指針賦值給某個指針。一個指針可以加上一個整數。兩個指針在一定條件下,可以相加。指針可以用來表達數組元素,下列表達中(A)是錯誤的。已知:inta[3][7];(A)*(a+1)[5](B)*(*a+3)(C)*(*(a+1))(D)*(&a[0][0]+2)下列表達引用的方法中,(A)是對的的。已知:m=10;(A)int&x=m;(B)int&y=10;(C)int&z;(D)float&t=&m;下列各運算符中,(A)可以作用于浮點數。(A)++(B)%(C)>>(D)&(與C語言不同,在C++中++和--運算符可以作用于浮點數)當一個函數無返回值時,定義它其函數類型應是(A)。(A)void(B)任意(C)int(D)無在函數說明時,下列(D)項是不必要的。(A)函數的類型(B)函數的參數類型和名字(C)函數名字(D)返回值表達式下列的(D)是引用調用。(A)形參是指針,實參是地址值(B)形參和實參都是變量(C)形參是數組名,實參是數組名(D)形參是引用,實參是變量在C++中,下列關于設立參數默認值的描述中,(B)是對的的。(A)不允許設立參數的默認值(B)設立參數默認值時,應按從右到左的順序進行(C)設立參數默認值時,應按從左到右的順序進行(D)設立參數默認值時,應當所有參數都設立重載函數在調用時選擇的依據中,(D)是錯誤的。(A)參數個數(B)參數類型(C)函數名字(D)函數的返回值類型在一個函數中,規定通過函數調用來實現一個不太復雜的功能,并且規定加快執行速度,選用(A)最合適。(A)內聯函數(B)重載函數(C)遞歸函數(D)嵌套調用采用函數重載的目的在于(D)(A)實現共享(B)減少空間(C)提高速度(D)使用方便,提高可讀性說明語句“constchar*ptr;”中,ptr應當是(C)。(A)指向字符常量的指針(B)指向字符的常量指針(C)指向字符串常量的指針(D)指向字符串的常量指針在下列關鍵字中,用以說明類中公有成員的是(A)。(A)public(B)private(C)protected(D)friend下列的種類函數中,(C)不是類的成員函數。(A)構造函數(B)析構函數(C)友元函數(D)拷貝構造函數作用域運算符的功能是(D)。(A)標記作用域的級別(B)指出作用域的范圍(C)給定作用域的大小(D)標記某個成員是屬于哪個類(B)是不可以作為該類的成員的。(A)自身類對象的指針(B)自身類的對象(C)自身類對象的引用(D)另一個類的對象(D)不是構造函數的特點。(A)構造函數的函數名與類名相同(B)構造函數可以重載(C)構造函數可以設立缺省參數(D)構造必須指定類型說明(A)是析構函數的特性。(A)一個類中只能定義一個析構函數(B)析構函數名與類名不同(C)析構函數的定義只能在類體內(D)析構函數可以有一個或多個參數通常拷貝構造函數的參數是(C)。(A)某個對象名(B)某個對象的成員名(C)某個對象的引用名(D)某個對象的指針名關于成員函數特性的下述描述中,(A)是錯誤的(A)成員函數一定是內聯函數(B)成員函數可以重載(C)成員函數可以設立缺省參數(D)成員函數可以是靜態的下述靜態數據成員的特性中,(D)是錯誤的。(A)說明靜態數據成員時前邊要加修飾符static(B)靜態數據成員要在類外進行初始化(C)引用靜態數據成員時,要在靜態數據成員名前加<類名>和作用域運算符(D)靜態數據成員不是所有對象共有的友元的作用是(A)(A)提高程序的運營效率(B)加強類的封裝性(C)實現數據的隱藏(D)增長成員函數的種類已知類A中一個成員函數說明如下:voidSet(A&a);其中A&a的含義是(C)。(A)指向類A的指針a(B)將a的地址賦給變量Set(C)a是類A對象的引用,用來作函數Set()的形參(D)變量A與a按位邏輯與,作為函數Set()的參數下列關于對象數組的描述中,(D)是錯誤的。(A)對象數組的下標是從0開始的(B)對象數組的數組名是一個常量指針(C)對象數組的每個元素是同一個類的對象(D)對象數組只能賦初值,而不能被賦值{賦值格式:對象數組名[行下標][列下標]=構造函數名(實參表);}下列定義中,(B)是定義指向數組的指針p。(A)int*p[5];(B)int(*p)[5];(C)(int*)p[5];(D)int*p[];已知:print()函數是一個類的常(const)成員函數,它無返回值,下列表達中,(A)是對的的。(A)voidprint()const;(B)constvoidprint();(C)voidconstprint();(D)voidprint(const);{this指針是一個常量指針,但也可以將它定義成指向常量的常量指針,其方法是在定義成員函數時,或者在類中聲明成員函數時,在函數頭后面加上關鍵字const}關于new運算符的下列描述中,(D)是錯誤的。(A)它可以用來動態創建對象和對象數組(B)使用它創建的對象或對象數組應使用運算符delete刪除(C)使用它創建對象時要調用構造函數(D)使用它創建對象數組時必須指定初始值{<類型>*指針變量名=new<類型>[元素個數];指針變量名[下標]=構造函數(參數表);}關于delete運算符的下列描述中,(C)是錯誤的。(A)它必須用于new返回的指針(B)它也合用于空指針(C)對同一個動態對象可以多次使用該運算符(D)指針名前只用一對方括號符,不管所刪除數組的維數具有轉換功能的構造函數,應當是(B)。(A)不帶參數的構造函數(B)帶有一個參數的構造函數(C)帶有兩個以參數的構造函數(D)缺省構造函數下列對派生類的描述中,(D)是錯誤的。(A)一個派生類可以作另一個派生類的基類(B)派生類至少有一個基類(C)派生類的成員除了它自己的成員外,還包含了其基類的成員(D)派生類中從基類繼承的成員,其訪問權限保持不變派生類對象對基類有成員中(A)是可以訪問的。(A)公有繼承的公有成員(B)公有繼承的私有成員(C)公有繼承的保護成員(D)私有繼承的公有成員對基類和派生類的描述中,(B)是錯誤的。(A)派生類是基類的具體化(B)派生類是基類的子集(C)派生類是基類定義的延續(D)派生類是基類的組合派生類構造函數的成員初始化列表中不能包含(C)。(A)基類的構造函數(B)派生類中成員對象的初始化(C)基類成員對象的初始化(D)派生類中一般數據成員的初始化關于多繼承二義性的描述中,(C)是錯誤的。(A)一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員進行訪問也許出現二義性。(B)解決二義性的最常用的方法是用“類名::”指定成員名所屬類。(C)基類和派生類中出現的同名成員函數,也存在二義性問題。(D)一個派生類是從兩個基類派生而來,而這兩個基類又有一個共同的基類,對該基類的成員進行訪問時,也也許出現二義性。設立虛基類的目的是(B)。(A)簡化程序(B)消除二義性(C)提高運營效率(D)減少目的代碼在派生類對基類繼承的傳遞性中,(C)是錯誤的。(A)在公有繼承方式下,直接派生類對象可以直接調用基類中的公有成員函數,去訪問基類的私有數據成員。(B)在公有繼承方式下,間接派生類對象可以直接調用基類中的公有成員函數,去訪問基類的私有數據成員。(C)在私有繼承方式下,間接派生類對象可以直接調用基類中的公有成員函數,去訪問基類的私有數據成員。(D)不管是私有繼承還是公有繼承,基類中的私有成員在派生類的作用域內都是不可見的。對定義重載函數的下列規定中,(D)是錯誤的。(A)規定參數的個數不同(B)規定參數中至少有一個類型不同(C)規定參數個數相同,參數類型不同(D)規定函數的返回值不同下列函數中,(C)不能重載。(A)成員函數(B)非成員函數(C)析構函數(D)構造函數下列對重載函數的描述中,(A)是錯誤的。(A)重載函數中不允許使用缺省參數(B)重載函數中編譯系統根據參數表進行選擇(C)不要使用重載函數來描述毫不相干的函數(D)構造函數重載將給初始化帶來多種方式下列運算符中,(C)不能重載。(A)&&(B)[](C)::(D)new下列關于運算符重載的描述中,(D)是對的的。(A)運算符重載可以改變運算量的個數(B)運算符重載可以改變優先級(C)運算符重載可以改變結合性(D)運算符重載不可以改變語法結構運算符可以重載為(A)或(B)。(A)成員函數(B)友元函數(C)內聯函數(D)帶缺省參數的函數關于動態聯編的下列描述中,(D)是錯誤的。(A)動態聯編是以虛函數為基礎的(B)動態聯編是在程序運營時擬定所調用的函數代碼塊(C)動態聯編調用多態函數時傳遞給它的是基類對象的指針或基類對象的引用(D)動態聯編是在編譯時擬定調用某個函數的關于虛函數的描述中,(C)是對的的。(A)虛函數是一個static類型的成員函數(B)虛函數是一個非成員函數(C)基類中說明了虛函數后,其派生類中的相應函數可不必重新再說明(D)基類中的虛函數和其派生類中的虛函數具有不同的參數個數和類型用虛函數只有在(B)和(D)時才干實現多態性。(A)基類和派生類具有同名虛函數,而它們的參數個數不同(B)用基類的指針或基類的引用來訪問虛函數(C)基類和派生類具有同名虛函數,而它們的參數至少有一個類型不同(D)基類和派生類具有函數原型完全相同的同名虛函數,而函數體內的執行代碼不同關于純虛函數和抽象類的描述中,(C)是錯誤的。(A)純虛函數是一種特殊的虛函數,它沒有具體的實現部分(B)抽象類是指具有純虛函數的類(C)一個基類中說明有純虛函數,該基類的派生類一定不再是抽象類(D)抽象類只能作為基類使用,其純虛函數的實現部分由派生類給出下列描述中,(D)是抽象類的特性。(A)可以說明虛函數(B)可以進行構造函數重載(C)可以定義友元函數(D)不能說明其對象進行文獻操作時需要包含(B)文獻。(A)iostream.h(B)fstream.h(C)stdio.h(D)stdlib.h已知:inta,*pa=&a;輸出指針pa的地址值(十進制)的方法是(D)。(A)cout<<pa;(B)cout<<*pa;(C)cout<<&pa;(D)cout<<long(pa);下列輸出字符’A’的方法中,(A)是錯誤的。(A)cout<<put(‘A’);(B)cout<<’A’;(C)cout.put(‘A’);(D)charA=’A’;cout<<A;關于getline()函數的下列描述中,(D)是錯誤的。(A)該函數是用來從鍵盤上讀取字符串的(B)該函數讀取的字符串長度是受限制的(C)該函數讀取字符串時碰到終止符就停止(D)該函數中所使用的終止符只能是換行符關于read()函數的下列描述中,(D)是對的。(A)該函數只能從鍵盤中讀取字符串(B)該函數讀取的字符串長度是不受限制的(C)該函數只能用于文本文獻的操作(D)該函數只能按規定讀取所指定的字符數ios類提供控制格式標志位中,(A)是指定轉換十六進制形式的標志位。(A)hex(B)oct(C)dec(D)left磁盤文獻操作中,打開磁盤文獻的訪問方式中,(C)是以追加方式打開文獻。(A)in(B)out(C)app(D)ate下列函數中,(D)是對文獻進行寫操作。(A)get()(B)read()(C)seekg()(D)put()判斷下列描述的對的性C++中使用了新的注釋符‘//’,C語言中注釋符為‘/*…*/’不能在C++中使用。(F)C++程序中,每條語句結束時都加一個分號“;”。(T)C++中標記符內的大小寫字母是沒有區別的。(F)在編寫C++程序時,一定要注意采用人們習慣使用的書寫格式,否則將會減少其可讀性。(T)C++是一種以編譯方式實現的高級語言。(T)在C++編譯過程中,包含預解決過程、編譯過程和連接過程,并且這三個過程的順序是不能改變的。(T)預解決過程一般在編譯過程之后連接過程之前進行。(F)源程序在編譯過程中也許會出現一些錯誤信息,但在連接過程中將不會出現錯誤信息。(F)C++的程序中,對變量一定要先說明再使用,說明只要在使用之前就可以。(T)數組賦初值時,初值表中的數據項的數目可以大于或等于數組元素的個數。(F)指針是用來存放某種變量的地址的變量。這種變量的地址也可以存放在某個變量中,存放某個指針的地址值的變量稱為指向指針的指針,即二級指針。(T)引用是某個變量的別名,對引用的操作,實質上就是對被引用的變量的操作。(T)在說明語句inta(5),&b=a,*p=&a;中,b的值和*p的值是相等的。(T)已知:inta(5);表達式(a=7)+a具有二義性。(F)移位運算符在移位操作中,無論左移還是右移,所移出的空位一律補0。(F)某個變量的類型高是指該變量被存放在內存中的高地址處。(F)隱含的類型轉換都是使數據的精度不會減少,而顯式的類型轉換是不安全的轉換。(F)類型定義是用來定義一些C++中所沒有的新類型。(F)在C++中,定義函數時必須給出函數的類型。(T)在C++中,說明函數時要用函數原型,即定義函數時的函數頭部分。(T)在C++中,所有的函數在調用前都要說明。(T)在C++中,傳址調用將被引用調用所替代。(T)使用內聯函數是以犧牲增大空間開銷為代價的。(T)返回值類型、參數個數和類型都相同的函數也可以重載。(F)在設立了參數默認值后,調用函數的相應實參就必須省略。(F)for循環中,循環變量的作用域是該循環的循環體內。(F)函數形參的作用域是該函數的函數體。(T)調用系統函數時,要先將系統函數的原型說明所在的頭文獻包含進去。(T)使用關鍵字class定義的類中缺省的訪問權限是私有(private)的。(T)作用域運算符‘::’只能用來限定成員函數所屬的類。(F)析構函數是一種函數體為空的成員函數。(F)構造函數和析構函數都不能重載。(F)說明或定義對象時,類名前面不需要加class關鍵字。(T)訪問對象的成員與訪問結構變量的成員相同,使用運算符‘.’或‘->’。(T)所謂私有成員是指只有類中所提供的成員函數才干直接訪問它們,任何類以外的函數對它們的訪問都是非法的。(F)某類中的友元類的所有成員函數可以存取或修改該類中的私有成員。(T)可以在類的構造函數中對靜態數據成員進行初始化。(F)假如一個成員函數只需要存取一個類的靜態數據成員,則可將該成員函數說明為靜態成員函數。(T)指向對象的指針與對象都可以作函數參數,但是使用前者比后者好些。(T)對象引用作函數參數比用對象指針更方便。(T)對象數組的元素可以是不同類的對象。(F)對象數組既可以在定義它的同時賦初值,又可以在以后賦值。(T)指向對象數組的指針不一定必須指向數組的首元素。(T)“constchar*p;”語句說明了p是指向字符串的常量指針。(F)一個類的構造函數中可以不包含對其成員對象的初始化。(F)C++語言中,既允許單繼承,又允許多繼承。(T)派生類是從基類派生出來的,它不能再生成新的派生類。(F)派生類的繼承方式有兩種:公有繼承和私有繼承。(F)在公有繼承中,基類中的公有成員和私有成員在派生類作用域內都是可見的。(F)在公有繼承中,派生類對象可以訪問基類的公有成員。(T)在私有成員中,派生類對象可以訪問基類的公有成員。(F)在私有繼承中,基類中所有成員對派生類的對象都是不可見的。(T)公有派生類的對象是可以訪問基類的公有成員的。(T)公有派生類的對象是可以訪問基類的私有成員的。(F)公有派生類的對象是可以訪問基類的保護成員的。(F)私有派生類的對象是可以訪問基類的公有成員的。(F)派生類是它基類的組合。(F)構造函數可以被繼承。(F)析構函數不能被繼承。(T)只要是類M繼承了類N,就可以說類M是類N的子類型。(F)假如A

溫馨提示

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

評論

0/150

提交評論