C 二級考試 考核虛函式與多型難點易混淆試題之一

2021-10-23 05:41:15 字數 705 閱讀 8687

#include

using

namespace std;

class

base};

class

derived

:public base};

intmain()

執行時的輸出結果是______。

base的成員函式在宣告的前面加上virtual修飾,即把該函式宣告為虛函式。除少數特殊情況外,在派生類中重定義虛函式時,函式名、形參表和返回值型別必須保持不變。虛函式在派生類被重定義後,無論是否用virtual修飾,重定義的函式仍然是乙個虛函式。對虛函式的呼叫有兩種方式:非多型呼叫和多型呼叫。非多型呼叫是指不借助於指標或引用的直接呼叫,多型呼叫是指借助於指向基類的指標或引用的呼叫。本題呼叫的是多型呼叫。

在c++中,乙個基類指標(或引用)可以用於指向它的派生類物件,而且通過這樣的指標(或引用)呼叫虛函式時,被呼叫的是該指標(或引用)實際所指向的物件類的那個重定義版本。本題中,成員函式show為虛函式。在main函式中,第一條語句定義了指向派生類物件的基類指標p1,第二條語句定義了指向派生類物件的派生類指標p2,第三條語句通過基類指標p1呼叫虛函式show,被呼叫的是派生類中重定義的那個版本,因此輸出字元d,第四條語句通過派生類指標p2呼叫虛函式show,被呼叫的也是派生類中的那個版本,輸出字元d

所以輸出結果是dd

C 二級複習6(多型性和虛函式)

c 二級複習6 1 多型性 物件導向 向不同的物件傳送同乙個訊息,不同的物件在接收時會產生不同的行為 即方法 從系統實現的角度來看,多型性分為 靜態多型性和動態多型性。靜態多型性是通過函式過載實現的,程式編譯時就知道呼叫函式的全部資訊,也被稱為編譯時的多型性。動態多型性 執行時的多型性,通過虛函式實...

C語言常用函式(二級C語言考試)

1.統計一行字串中單詞的個數,單詞之間有若干個空格隔開 int fun char s 2.定義學生結構體變數,儲存了學生的學號 姓名和三門課的成績。所有學生資料均以二進位制方式輸出到檔案中。函式fun的功能是重寫形參filename所指檔案中最後乙個學生的資料,即用新的學生資料覆蓋該學生原來的資料,...

計算機等級考試二級C(函式呼叫查詢最大值最小值)

description 編制函式,其功能是在float型別一維陣列中查詢最大值 最小值,並將它們返回到呼叫程式。輸出保留兩位小數.input nn個浮點數 output 最大值 最小值 sample input 10 1.02.0 3.04.0 5.06.0 7.08.0 9.010.0 sampl...