• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            chenglong7997

            C/C++. filename, line, onexit

            如何判斷一段程序是由C 編譯程序還是由C++編譯程序編譯的? 
            答案: 

            1. #ifdef __cplusplus  
            2. cout<<"c++";  
            3. #else  
            4. cout<<"c";  
            5. #endif  

             

            如何打印出當(dāng)前源文件的文件名以及源文件的當(dāng)前行號? 
            答案: 
            cout << __FILE__ ; 
            cout<<__LINE__ ; 
            __FILE__和__LINE__是系統(tǒng)預(yù)定義宏,這種宏并不是在某個文件中定義的,而是由編譯器定義的。

            main 主函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼,給出說明? 
            答案:可以,可以用_onexit 注冊一個函數(shù),它會在main 之后執(zhí)行。

            1. #include <iostream>  
            2. using namespace std;  
            3.   
            4. int fn1()  
            5. {  
            6.     printf( "next.\n" );  
            7.     return 0;  
            8. }  
            9. int fn2()  
            10. {  
            11.     printf( "executed " );  
            12.     return 0;  
            13. }  
            14. int fn3()  
            15. {  
            16.     printf( "is " );  
            17.     return 0;  
            18. }  
            19. int fn4()  
            20. {  
            21.     printf( "This " );  
            22.     return 0;  
            23. }  
            24.   
            25. int _tmain(int argc, _TCHAR* argv[])  
            26. {     
            27.     _onexit( fn1 );  
            28.     _onexit( fn2 );  
            29.     _onexit( fn3 );  
            30.     _onexit( fn4 );  
            31.     printf( "This is executed first.\n" );  
            32.   
            33.     return 0;  
            34. }  
            輸出結(jié)果為:image

            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.

             

            類成員函數(shù)的重載、覆蓋和隱藏區(qū)別? 
            答案: 
            a.成員函數(shù)被重載的特征: 
            (1)相同的范圍(在同一個類中); 
            (2)函數(shù)名字相同; 
            (3)參數(shù)不同; 
            (4)virtual 關(guān)鍵字可有可無。

              (5)const的區(qū)別 
            b.覆蓋是指派生類函數(shù)覆蓋基類函數(shù),特征是: 
            (1)不同的范圍(分別位于派生類與基類); 
            (2)函數(shù)名字相同; 
            (3)參數(shù)相同; 
            (4)基類函數(shù)必須有virtual 關(guān)鍵字。 
            c.“隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下: 
            (1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時,不論有無virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。 
            (2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒有virtual 關(guān)鍵字。此時,基類的函數(shù)被隱藏(注意別與覆蓋混淆)

            posted on 2012-03-31 02:11 Snape 閱讀(330) 評論(0)  編輯 收藏 引用 所屬分類: C++ 轉(zhuǎn)載

            導(dǎo)航

            <2012年6月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            統(tǒng)計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            my

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            人妻少妇久久中文字幕 | 久久国产精品免费| 久久99精品国产一区二区三区| 国产成人综合久久久久久| 国产午夜精品久久久久九九电影| 精品国产一区二区三区久久久狼| 亚洲AV成人无码久久精品老人| 欧美精品丝袜久久久中文字幕 | 国产精品99久久精品爆乳| 久久精品国产亚洲AV麻豆网站 | 囯产极品美女高潮无套久久久| 亚洲va久久久噜噜噜久久狠狠 | 久久九九久精品国产免费直播| 久久伊人色| 四虎久久影院| 亚洲欧美精品一区久久中文字幕| 久久99久久99精品免视看动漫| 久久久久人妻一区精品| 色综合久久久久无码专区| 精品一久久香蕉国产线看播放 | 久久99国产精品尤物| 欧美日韩精品久久久免费观看| 狠狠色丁香婷婷综合久久来| 久久久久无码精品国产app| 久久久免费精品re6| 亚洲中文字幕伊人久久无码| 伊人色综合久久天天人守人婷| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久婷婷五月综合色奶水99啪 | 亚洲狠狠婷婷综合久久蜜芽| 大香网伊人久久综合网2020| 成人久久久观看免费毛片| 狼狼综合久久久久综合网| 久久99精品久久久久久| 久久久精品久久久久特色影视| 久久精品国产亚洲网站| 亚洲性久久久影院| 久久婷婷五月综合成人D啪| 久久99热精品| 亚洲人成伊人成综合网久久久| 精品久久香蕉国产线看观看亚洲|