C++運算符重載的試題及答案_第1頁
C++運算符重載的試題及答案_第2頁
C++運算符重載的試題及答案_第3頁
C++運算符重載的試題及答案_第4頁
C++運算符重載的試題及答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

C++運算符重載的試題及答案姓名:____________________

一、單項選擇題(每題2分,共10題)

1.下列關于運算符重載的說法,錯誤的是()

A.運算符重載可以增加C++語言的靈活性

B.運算符重載可以改變運算符的操作數個數

C.運算符重載可以改變運算符的操作數類型

D.運算符重載可以使自定義類型參與運算

2.下列運算符不能重載的是()

A.`+`B.`*`C.`&`D.`->`

3.下面哪個運算符不能用于重載()

A.`*`B.`&`C.`()`D.`[]`

4.下列關于運算符重載規則的說法,正確的是()

A.重載運算符的函數可以是成員函數或非成員函數

B.重載運算符的函數可以改變運算符的優先級

C.重載運算符的函數不能改變運算符的操作數個數

D.重載運算符的函數不能改變運算符的操作數類型

5.以下哪個運算符不能作為成員函數重載()

A.`+`B.`<<`C.`>>`D.`[]`

6.以下哪個運算符可以作為友元函數重載()

A.`+`B.`<<`C.`&`D.`->`

7.以下關于運算符重載的函數的返回類型,正確的是()

A.必須是類類型

B.必須是基本數據類型

C.必須是自定義類型

D.可以是任何類型

8.以下哪個函數定義是正確的運算符重載()

A.`operator+(int,double)`B.`operator+(double,int)`

C.`operator+(double,double)`D.`operator+(int,int)`

9.以下哪個運算符重載函數的參數個數是錯誤的()

A.`operator+(int,int)`B.`operator+(double,double)`

C.`operator+(int,double)`D.`operator+(double,int)`

10.以下哪個函數不能作為運算符重載的成員函數()

A.`operator[]`B.`operator()`C.`operator+`D.`operator-`

二、多項選擇題(每題3分,共10題)

1.運算符重載的規則包括哪些?()

A.運算符重載的函數不能改變運算符的操作數個數

B.運算符重載的函數不能改變運算符的操作數類型

C.運算符重載的函數不能改變運算符的優先級

D.運算符重載的函數不能改變運算符的結合性

E.運算符重載的函數必須使用關鍵字`operator`

2.以下哪些運算符可以重載?()

A.`+`B.`*`C.`&`D.`[]`E.`->`

F.`<<`G.`>>`H.`()`I.`=`J.`[]`(數組下標)

3.以下關于運算符重載的說法,正確的是()

A.運算符重載可以提高代碼的可讀性

B.運算符重載可以改變運算符的優先級

C.運算符重載可以改變運算符的操作數類型

D.運算符重載可以使自定義類型參與運算

E.運算符重載的函數必須返回值

4.以下哪些運算符不能重載?()

A.`+`B.`*`C.`&`D.`->`E.`sizeof`

F.`new`G.`delete`H.`this`I.`->*`J.`.*`

5.運算符重載的函數可以是哪些類型的函數?()

A.成員函數B.非成員函數C.友元函數D.構造函數E.析構函數

6.以下哪些函數可以作為運算符重載的成員函數?()

A.`operator+`B.`operator[]`C.`operator()`D.`operator-`E.`operator<<`

7.以下關于運算符重載的函數的返回類型,正確的是()

A.必須是類類型

B.必須是基本數據類型

C.可以是自定義類型

D.可以是任何類型

E.返回類型不能是類類型

8.以下關于運算符重載的函數的參數,正確的是()

A.參數個數必須與原運算符的操作數個數相同

B.參數個數可以多于原運算符的操作數個數

C.參數個數可以少于原運算符的操作數個數

D.參數類型可以與原運算符的操作數類型相同

E.參數類型可以與原運算符的操作數類型不同

9.運算符重載的函數可以重載哪些運算符?()

A.`+`B.`*`C.`&`D.`[]`E.`->`

F.`<<`G.`>>`H.`()`I.`=`J.`[]`(數組下標)

10.以下關于運算符重載的函數的命名,正確的是()

A.必須使用`operator`關鍵字

B.可以使用任何名稱

C.必須與原運算符名稱相同

D.可以使用與原運算符名稱不同的名稱

E.不能使用`operator`關鍵字

三、判斷題(每題2分,共10題)

1.運算符重載的函數必須返回值。()

2.在C++中,所有運算符都可以重載。()

3.運算符重載的函數可以是靜態成員函數。()

4.運算符重載的函數的參數個數必須與原運算符的操作數個數相同。()

5.運算符重載的函數的參數類型必須與原運算符的操作數類型相同。()

6.重載的運算符不能改變其操作數的類型。()

7.運算符重載可以改變運算符的優先級。()

8.運算符重載的函數可以是友元函數。()

9.運算符重載的函數不能改變運算符的結合性。()

10.在重載運算符時,不能使用默認參數。()

四、簡答題(每題5分,共6題)

1.簡述運算符重載的概念及其作用。

2.運算符重載有哪些規則?

3.如何區分運算符重載的成員函數和非成員函數?

4.運算符重載的函數參數有哪些特點?

5.解釋什么是運算符重載的函數重載。

6.簡述運算符重載的友元函數的特點。

試卷答案如下

一、單項選擇題答案及解析思路

1.B.運算符重載可以改變運算符的操作數個數

解析思路:運算符重載可以擴展運算符的功能,但不會改變其操作數的個數。

2.D.`->`

解析思路:`->`是成員訪問運算符,不能用于重載。

3.C.`[]`

解析思路:`[]`是下標運算符,通常用于數組或容器,不能用于重載。

4.A.重載運算符的函數可以是成員函數或非成員函數

解析思路:運算符重載的函數可以是類的成員函數或非成員函數。

5.B.`<<`

解析思路:`[]`是數組下標運算符,不能作為成員函數重載。

6.A.`+`

解析思路:`+`運算符可以作為友元函數重載,以便于不同類型的操作數參與加法運算。

7.D.可以是任何類型

解析思路:運算符重載的函數的返回類型可以是任何類型,沒有特定的要求。

8.B.`operator+(double,int)`

解析思路:重載的加法運算符需要兩個參數,且參數類型可以不同。

9.A.`operator+(int,int)`

解析思路:重載的加法運算符需要兩個參數,參數類型必須與原運算符的操作數類型相同。

10.A.`operator[]`

解析思路:`[]`是數組下標運算符,不能作為運算符重載的成員函數。

二、多項選擇題答案及解析思路

1.A,B,C,D,E,F,G,H,I,J

解析思路:運算符重載的規則包括不能改變操作數個數、類型、優先級和結合性,以及必須使用`operator`關鍵字。

2.A,B,C,D,E,F,G,H,I,J

解析思路:大多數運算符都可以重載,包括加法、乘法、下標、箭頭、位移、位運算符等。

3.A,C,D,E

解析思路:運算符重載可以提高代碼的可讀性,可以改變操作數類型,可以使自定義類型參與運算,但不能改變運算符的優先級。

4.E,F,G,H,I,J

解析思路:`sizeof`、`new`、`delete`、`this`、`->*`和`.*`等運算符不能重載。

5.A,B,C

解析思路:運算符重載的函數可以是成員函數、非成員函數或友元函數。

6.A,B,C,D,E

解析思路:`operator+`、`operator[]`、`operator()`、`operator-`和`operator<<`等可以作為成員函數重載。

7.A,C,D,E

解析思路:運算符重載的函數的返回類型可以是類類型、基本數據類型或自定義類型。

8.A,B,C,D,E

解析思路:運算符重載的函數的參數個數可以與原運算符的操作數個數相同、多于或少于,參數類型也可以相同或不同。

9.A,B,C,D,E,F,G,H,I,J

解析思路:大多數運算符都可以重載,包括加法、乘法、下標、箭頭、位移、位運算符等。

10.A,D

解析思路:運算符重載的函數必須使用`operator`關鍵字,但不能使用與原運算符名稱不同的名稱。

三、判斷題答案及解析思路

1.×

解析思路:運算符重載的函數可以沒有返回值。

2.×

解析思路:某些運算符,如`sizeof`、`new`、`delete`等,不能重載。

3.√

解析思路:靜態成員函數可以訪問類的成員,因此可以作為運算符重載的成員函數。

4.×

解析思路:

溫馨提示

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

評論

0/150

提交評論