這段時間沒怎麼顧及本身的這個「一寸土地」, 實在慚愧。由於這些天小弟又經歷了「職業生涯」中的一個小小轉折----跳槽去了某個在移動通訊行業比較龍頭的幾個國際大公司之一。鑑於對職業操守的尊敬,請恕小弟隱藏了該公司的名稱。將有點意思的一道C++題目共享出來,積累點人品,也但願對一些朋友有所幫助。固然,對衆多牛人ggjj來講,都是小菜一碟。小弟這裏獻醜了
有下面一段程序:
#include
<
iostream
>
using namespace std;
int
main()
{
cout
<<
"
Inside main
"
<<
endl;
}
在不修改main函數的狀況下,修改上面的程序,使得程序運行結束後在屏幕上輸出:
關鍵是不能修改main函數,增長了題目的難度。其實這題並不難,有點像在考腦筋急轉彎。實際上該題目考察的是對C++基本概念的熟悉狀況。
解決該問題的思路:
類的構造函數在定義對象時運行,析構函數在程序退出對象生存空間時執行(不包括new出來的對象指針)。
所以,我能夠定一個類,在其構造函數中打印「Hi」,在其析構函數中打印「Bye」。而後定義一個該類的全局對象。那麼在程序運行時,首先會調用全局對象的構造函數,而後運行main函數,最後程序退出時,調用全局對象的析構函數。因此,上面的程序能夠修改成:
#include
<
iostream
>
using namespace std;
//
定義類
class
test
{
test() {cout
<<
"
Hi
"
<<
endl;}
~
test() {cout
<<
"
Bye
"
<<
endl;}
};
//
定義test類的全局對象
test t;
int
main()
{
cout
<<
"
Inside main
"
<<
endl; }