天天看點

C++查缺補漏3,趕緊的

答案: 

如何列印出目前源檔案的檔案名以及源檔案的目前行号? 

cout << __FILE__ ; 

cout<<__LINE__ ; 

__FILE__和__LINE__是系統預定義宏,這種宏并不是在某個檔案中定義的,而是由編譯器定義的。

main 主函數執行完畢後,是否可能會再執行一段代碼,給出說明? 

答案:可以,可以用_onexit 注冊一個函數,它會在main 之後執行。

C++查缺補漏3,趕緊的

The _onexit function is passed the address of a function (func) to be called when the program terminates normally. Successive calls to _onexit create a register of functions that are executed in LIFO (last-in-first-out) order. The functions passed to _onexit cannot take parameters.

類成員函數的重載、覆寫和隐藏差別? 

a.成員函數被重載的特征: 

(1)相同的範圍(在同一個類中); 

(2)函數名字相同; 

(3)參數不同; 

(4)virtual 關鍵字可有可無。

  (5)const的差別 

b.覆寫是指派生類函數覆寫基類函數,特征是: 

(1)不同的範圍(分别位于派生類與基類); 

(3)參數相同; 

(4)基類函數必須有virtual 關鍵字。 

c.“隐藏”是指派生類的函數屏蔽了與其同名的基類函數,規則如下: 

(1)如果派生類的函數與基類的函數同名,但是參數不同。此時,不論有無virtual關鍵字,基類的函數将被隐藏(注意别與重載混淆)。 

(2)如果派生類的函數與基類的函數同名,并且參數也相同,但是基類函數沒有virtual 關鍵字。此時,基類的函數被隐藏(注意别與覆寫混淆)

==============================================================================

本文轉自被遺忘的部落格園部落格,原文連結:http://www.cnblogs.com/rollenholt/archive/2012/03/28/2422418.html,如需轉載請自行聯系原作者

繼續閱讀