某國際知名IT公司筆試

這段時間沒怎麼顧及本身的這個「一寸土地」, 實在慚愧。由於這些天小弟又經歷了「職業生涯」中的一個小小轉折----跳槽去了某個在移動通訊行業比較龍頭的幾個國際大公司之一。鑑於對職業操守的尊敬,請恕小弟隱藏了該公司的名稱。將有點意思的一道C++題目共享出來,積累點人品,也但願對一些朋友有所幫助。固然,對衆多牛人ggjj來講,都是小菜一碟。小弟這裏獻醜了
  有下面一段程序:
#include  < iostream >

using namespace std;
int  main()
{
    cout 
<<   " Inside main "   <<  endl;
}
    在不修改main函數的狀況下,修改上面的程序,使得程序運行結束後在屏幕上輸出:
Hi
Inside main
Bye
    關鍵是不能修改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; }
相關文章
相關標籤/搜索