Daily C C 選擇題題解(1)

2021-08-19 15:45:00 字數 1123 閱讀 3676

題目**於julyedu.com

1、

有如下程式:執行後的輸出結果應該是( )

#include

using namespace std;

class base;};

class derived:public base;};

int main()

a  base

b  derived

c  basederived

d  derivedbase 選d

c++primer 第五版中文版556頁:

在析構函式體完成以後,物件的成員會被隱式銷毀(參見13.1.3節445頁)類似的,物件的基類部分也是隱式銷毀的。因此和建構函式及賦值運算子不同,派生類析構函式只負責銷毀由派生類自己分配的資源

物件銷毀的順序正好和其建立的順序相反:派生類析構函式首先執行,然後是基類的析構函式,以此類推,沿著繼承體系的反方向直至最後

2、

如果myclass為乙個類,執行「myclass a[5],*b[6]」語言會自動呼叫該類建構函式的次數是( )。

a  2

b  5

c  4

d  9 選b

a宣告並定義了5個物件,而*b宣告並定義的是長度為6的指標陣列,沒有定義物件本身,因此*b沒有呼叫建構函式

4、

下列關於賦值運算子「=」過載的敘述中,正確的是( )

a

賦值運算子只能作為類的成員函式過載
b
預設的賦值運算子實現了「深層複製」功能
c
過載的賦值運算子函式有兩個本類物件作為形參
d
如果己經定義了複製(拷貝) 建構函式,就不能過載賦值運算子

選a:預設的賦值運算子只是記憶體值的直接拷貝,即淺拷貝

c++ primer第五版中文版p499:

賦值運算子通常有三種:拷貝賦值,移動賦值,根據標準庫vector類定義的賦值運算子(該運算子接受花括號內的元素列表作為引數,為了與內建型別和前兩種賦值運算子保持一致,這個新的賦值運算子將返回左側物件的引用)

賦值運算子可以過載。無論形參型別怎樣,賦值運算子都必須定義為成員函式。

通常,復合賦值運算子也要定義成類的成員。賦值運算子和復合賦值運算子都應該返回左側物件的引用

mysql選擇題 MySQL 選擇題(三)

單選題 1.在正規表示式中,匹配任意乙個字元的符號是 a b c d 正確答案 a 2.條件年齡between 15 and 35表示年齡在15至35之間,且 a 不包括15歲和35歲 b 包括15歲但不包括35歲 c 包括15歲和35歲 d 包括35歲但不包括15歲 正確答案 c 3.mysql安...

shell題庫選擇題 Linux選擇題題庫

1 下列哪個選項不是linux所支援的?a 多使用者 b 超程序 c 可移植 d 多程序 2 linux就是所謂的 free softwrae 這個 free 的含義是什麼?a linux不需要付費 b linux發行商不能向使用者收費 c linux可自由修改和發布 d 只有linux的作者才能向...

資訊保安選擇題(1)

一 選擇題 1.假設使用一種加密演算法,它的加密方法很簡單 將每乙個字母加5,即a加密成f。這種演算法的金鑰就是5,那麼它屬於 a.對稱加密技術 b.分組密碼技術 c.公鑰加密技術 d.單向函式密碼技術 2.公開金鑰密碼體制 的含義是 a.將所有金鑰公開 b.將私有金鑰公開,公開金鑰保密 c.將公開...