標簽:C++面試題
一、選擇題
1.下面各項不屬于派生新類范疇的是(C )
A.吸識訓類的成員
B.改造基類的成員
C.洗掉基類的成員
D.添加新成員
2.在派生新類的程序中,( D )
A.基類的所有成員都被繼承
B.只有基類的建構式不被繼承
C.只有基類的解構式不被繼承
D.基類的建構式和解構式都不被繼承
3.下面不屬于類的繼承方式的是( C )
A.public
B.private
C.operator
D.protected
4.作用域分辨符是指( B )
A.?:
B. ::
C.->
D.&&
5.專用多型是指( A )
A.多載多型和強制多型
B.強制多型和包含多型
C.包含多型和引數多型
D.引數多型和多載多型
6.通用多型是指( C )
A.多載多型和強制多型
B.強制多型和包含多型
C.包含多型和引數多型
D.引數多型和多載多型
7.下面各項中屬于不可多載的一組運算子是( C )
A.+、—、、/
B.[ ]、()
C. ::、.、?:、sizeof、.
D.++、——
8.關于類的建構式,下面說法不正確的是( C )
A.建構式的作用是在物件被創建時將物件初始化為一個特定的狀態
B.建構式的函式名與類名相同
C.建構式可以宣告為虛函式
D.建構式在物件被創建時被系統自動呼叫
9.在C++中,陣列型別屬于( B )
A.基本資料型別
B.自定義資料型別
C.型別別
D.結構體型別
10.若有陳述句:float array[3][5][7];則陣列array的元素個數為( D )
A.3
B.5
C.7
D.105
11.關于虛基類,下面說法正確的是( D )
A.帶有虛函式的類稱為虛基類
B.帶有純虛函式的類稱為虛基類
C.虛基類不能實體化
D.虛基類可以用來解決二義性問題
12.關于解構式,下面說法不正確的是( B )
A.解構式用來完成物件被洗掉前的一些清理作業
B.解構式可以宣告為多載函式
C.解構式可以宣告為虛函式
D.解構式在物件的生存期即將結束時被系統自動呼叫
13.關于虛函式,下列說法不正確的是( C )
A.虛函式是動態聯編的基礎
B.虛函式的定義只能出現在類定義中的函式原形宣告中
C.類的成員函式均可宣告為虛函式
D.虛函式是用virtual關鍵字宣告的非靜態成員函式
14.關于抽象類,下列說法不正確的是( B )
A.抽象類不能實體化
B.帶有虛函式的類稱為抽象類
C.帶有純虛函式的類稱為抽象類
D.抽象類的作用是為一個類族建立一個公共介面
15.下列對一維陣列a的正確定義是( C )
A.int n=5,a[n];
B.int a(5);
C.const int n=5;int a[n];
D.int n;cin>>n;int a[n];
16.下列陣列定義陳述句中,不合法的是( A )
A.int a[3]={0,1,2,3};
B.int a[]={0,1,2};
C.int a[3]={0,1,2};
D.int a[3]={0};
17.已知int a[10]={0,1,2,3,4,5,6,7,8,9}和*p=a,則不能表示陣列a中元素的式子是( C ),
A.*a
B.*p
C.a
D.a[p-a]
18.以下不能對二維陣列a進行正確初始化的陳述句是( C ),
A.int a[2][3]={0};
B.int a[][3]={{0,1},{0}};
C.int a{2}[3]={{0,1},{2,3},{4,5}};
D.int a[][3]={0,1,2,3,4,5,};
19.已知int a[][3]={{0,1},{2,3,4},{5,6};{7}};則a[2][1]的值是( C ),
A.0
B.2
C.6
D.7
20.已知char *a[]={“fortran”,”basic”,”pascal”,”java”,”C++”};則cout<<a[3]的顯示結果是(C),
A.basic
B.pascal
C.java
D.javac++
21.若用陣列名作為呼叫函式的實參,則傳遞給形參的是( A ),
A.陣列存盤首地址
B.陣列第一個元素的值
C.陣列元素的個數
D.陣列中全部元素的值
22.判斷字串s1和s2是否相等的正確運算式是( C )
A.s1=s2;
B.s1==s2;
C.strcmp(s1,s2)==0;
D.strcpy(s1,s2);
23.下面選項中,不是類的成員函式的為( C )
A.建構式
B.解構式
C.友元函式
D.拷貝建構式
24.下列關于類的繼承描述中,錯誤的是( A ),
A.派生類可以訪問基類的所有資料成員,呼叫基類的所有成員函式,
B.派生類繼承了基類的全部屬性,
C.繼承描述類的層次關系,派生類可以具有與基類相同的屬性和方法,
D.一個基類可以有多個派生類,一個派生類可以有多個基類,
25.當一個派生類公有繼承一個基類時,基類中所有公有成員成為派生類的( A )
A.public成員
B.private成員
C.protected成員
D.友元
26.不論派生類以何種方式繼承基類,都不能使用基類的( B )
A.public成員
B.private成員
C.protected成員
D.public和protected成員
27.在一個派生類中重新定義基類的虛函式時,應使( D )
A.函式名相同,但引數不同;
B.函式名相同,但函式回傳值型別不同;
C.函式名、函式回傳值型別、引數個數、引數型別和順序各不相同,
D.函式名、函式回傳值型別、引數個數、引數型別和順序完全相同,
28.如果把基類的解構式宣告為虛函式,則( A )
A.各派生類的解構式均自動為虛函式;
B.派生類的解構式與基類解構式不同名,故不是虛函式;
C.每個派生類的解構式都必須宣告為虛函式;
D.只有基類的解構式是虛函式,
29.當一個派生類私有繼承一個基類時,基類中所有公有成員和保護成員成為派生類的(B)
A.public成員
B.private成員
C.protected成員
D.友元
30.當一個派生類保護繼承一個基類時,基類中所有公有成員和保護成員成為派生類的(C)
A.public成員
B.private成員
C.protected成員
D.友元
31.派生類的物件可以訪問( A ),
A.公有繼承的基類的公有成員
B.公有繼承的基類的保護成員
C.公有繼承的基類的私有成員
D.保護繼承的基類的公有成員
32.在創建派生類物件時,建構式的執行順序是( D )
A.物件成員建構式、基類建構式、派生類本身的建構式
B.派生類本身的建構式、基類建構式、物件成員建構式
C.基類建構式、派生類本身的建構式、物件成員建構式
D.基類建構式、物件成員建構式、派生類本身的建構式
33.在C++中,要實作動態聯編,必須使用( C )呼叫虛函式,
A.類名
B.物件名
C.基類指標
D.派生類指標
34.下列函式中,可以作為虛函式的是( D ),
A.普通函式
B.建構式
C.成員函式
D.解構式
35.下面函式原型宣告中,宣告fun為純虛函式的是( B ),
A.void fun()=0;
B.virtual void fun()=0;
C.virtual void fun();
D.virtual void fun(){ };
36.下列描述中,不正確的是( A ),
A.虛函式是沒有實作的函式
B.純虛函式的實作在派生類中定義
C.抽象類是具有純虛函式的類
D.抽象類指標可以指向不同的派生類物件
37.一個類可以有多個建構式,這些建構式之間的關系是( A )
A.多載
B.重復
C.拷貝
D.覆寫
38.下列關于建構式的說法不正確的是( A )
A.一個類中有且僅有一個建構式,
B.建構式在創建類的物件時被自動執行,
C.建構式沒有函式型別,
D.類的建構式的函式名必須與該類的類名相同,
39.下列關于解構式的說法不正確的是( B )
A.一個類有且僅有一個解構式,
B.解構式可以有形參,
C.解構式沒有函式型別,
D.解構式在類的物件消失時被自動執行,
40.下列各項不屬于型別兼容規則的是( A )
A.基類的物件可以賦值給派生類物件
B.派生類的物件可以賦值給基類的物件
C.派生類的物件可以初始化基類的參考
D.派生類物件的地址可以賦值給指向基類的指標
41.下列對于int *pa[5]的描述,正確的是( D ),
A.pa是一個指向陣列的指標,所指向的陣列是5個int型元素
B.pa是一個指向某陣列中的第5個元素的指標,該元素是int型變數
C.pa[5]表示某個陣列的第5個元素的值
D.pa是一個具有5個元素的指標陣列,每個元素是一個int型指標
42.執行下列陳述句后的輸出結果是( C ),
int hot=100;
int &rad=hot;
hot+=100;
cout<<rad<<endl;
A.0
B.100
C.200
D.300
43.下列對結構及其變數定義錯誤的是:( D )
A.struct MyStruct{
int num;
char ch;
};
MyStruct my;
B.struct MyStruct{
int num;
char ch;
}my;
C. struct{
int num;
char ch;
}
my;
D.struct{
int num;
char ch;
};
struct my;
44.下列關于指標運算的描述錯誤的是:( A )
A.在一定條件下,兩個指標可以相加
B.在一定條件下,兩個指標可以進行關系運算
C.在一定條件下,指標可以為空
D.在一定條件下,兩個指標可以相互賦值
45.下面關于類的物件的描述中,不正確的是( C )
A.一個物件只能屬于一個類
B.物件是類的實體
C.一個類只能有一物件
D.類和物件的關系與資料型別和變數的關系類似
47.若有如下宣告:
class A{ int a;};
則a是類A的( C )
A.公有資料成員
B.公有成員函式
C.私有資料成員
D.私有成員函式
48.在類外定義成員函式時,需要在函式名前加上( D )
A.物件名
B.類名
C.作用域運算子
D.類名和作用域運算子
49.一個類的友元函式可以訪問該類的( D )
A.私有成員
B.公有成員
C.保護成員
D.私有成員、公有成員和保護成員
50.下列關于派生類的描述中,不正確的是( B )
A.派生類除了包含它自己的成員外,還包含基類的成員
B.派生類中繼承的基類的成員的訪問權限在派生類中保持不變
C.派生類只少有一個基類
D.一個派生類可以作為另一個派生類的基類,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/156263.html
標籤:其他
上一篇:Codeforces 1110D Jongmah dp
下一篇:演練 看不見的硬幣 1002
