多型易錯題2

2021-07-22 17:19:42 字數 494 閱讀 5591

看下面**,輸出結果。

#include

#include

using

namespace

std;

class base

;class derive: public base

;int main()

請問輸出的i 是多少?

base()

derive()

derive()i =100

~derive()

~base

請按任意鍵繼續…

由於在base裡有虛函式,故基類物件記憶體有vfptr(虛函式表指標)指向虛函式,基類指標指向了派生類的物件,產生了多型,p呼叫的是派生類的show();但預設引數的壓棧,是在編譯的時候,就已經確定的。編譯的時候,編譯器看q是base型別的,壓i= 100, 但是執行時多型呼叫的show是派生類的,使用的i已經壓棧,

於是就列印100。

SQL測驗易錯題

sql 測驗 結果 17 20 您的回答 1.sql 指的是?您的回答 structured query language 2.哪個 sql 語句用於從資料庫中提取資料?您的回答 select 3.哪條 sql 語句用於更新資料庫中的資料?您的回答 update 4.哪條 sql 語句用於刪除資料庫...

c易錯題(一)

刷題也有幾天了,把自己刷題過程的錯題整理出來,以便以後不會再犯同樣的錯誤 1.已知int a 3 4 則下列可以表示a 1 2 元素的值的是 a.a 1 2 b.a 1 2 c.a 0 1 2 d.a 0 1 這道題看著不是很難,差不多可以選出a,但是卻不一定理解下邊的選項為啥錯。下邊我來乙個乙個分...

記錄PHP易錯題

1 a hello b a unset b echo a 輸出 hello 2 var dump empty false 輸出 true 3 a abc b abcde cmp strcmp a,b echo cmp 輸出 1 2 a b 所以返回 1,然後還有乘上不同元素的個數 4final cl...