一天一道c 面試題 1

2021-09-05 11:50:37 字數 811 閱讀 8857

前段時時間辭職了,之前一直是從事linux應用程式開發,用的一直是c語言。老實說,c語言真的不是很好用,儘管其很高效,但是畢竟是面向過程的低階語言,開發起來很多東西都需要自己重新實現,第三方庫可用的也比較少,因此大大的增加了開發時間。因此我決定要向高階的語言進行過渡,從相似性來說無疑c++是何其最接近的。奈何c++也是號稱最難的語言啊,學習過程中也是有很多疑難雜症,因此打算來個一天一道c++面試題,以便鞏固學習。

前兩天去面試了一家安防監控的公司,做了乙份c++面試題,裡面有一道關於多型的題我映像很是深刻,**如下:

class a

a()//virtual void show()

void show()

輸出結果為:

addr:0x61fe94 2

addr:0x61fe98 3

addr:0x61fe8c 0

addr:0x61fe90 0

其列印結果顯示表明,這種情況下,變數為什麼型別,使用的函式就是該型別成員及函式,這種情況被稱為靜態多型,或者叫靜態鏈結。

當在show()函式前加入virtual關鍵字的時,列印結果為:

addr:0x61fe94 2

addr:0x61fe98 3

addr:0x61fe94 2

addr:0x61fe98 3

可見,此時變數使用的成員及函式與例項化有關,例項化是什麼型別,那麼該例項空間使用的函式就是該例項真正的成員函式,這樣就做到了與宣告的變數無關,至於例項化有關,為動態鏈結。

virtual標記的函式為虛函式,左右就是為子類預留乙個函式介面,讓子類來進行實現並使用。

每天一道面試題(1)

2011年 阿里巴巴 筆試題集 第23題 乙個骰子,6面,1個面是 1,2個面是2,3個面是3,問平均擲多少次能使1 2 3都至少出現一次.這題可以翻譯為,乙個骰子,6面,1個面是 1,2個面是2,3個面是3,隨機扔骰子,在第x次時3個數都出現,求這個x的期望 也就是扔無數次,x的平均值是多少 思路...

一天一道簡單題目(1)

給你乙個整型陣列,需要你返回兩個數,這兩個數相加等於乙個指定的數。你必須保證每乙個輸入的陣列都有且只有乙個確定的解。使用最笨的方法,用兩個迴圈巢狀,將這個陣列中所有的組合都測試一遍,直到最後得到正確的答案為止。private static string solve int arr,int targe...

每天一道面試題 開篇

先說一下自己寫 每天一道面試題 原因。雖然現在所在的公司對我還是比較重視,但是現在公司的現狀是取消了加班費,加班沒有調休 不論工作日還是週末還是法定節假日 本著能者多勞以及 培養新人 的觀念,我是專案組裡面加班最多的人之一,幾乎每天加班到十一二點,週六才能夠在晚上7點前下班。這種狀態持續了四五個月。...