<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            C/C++/C#面試題精選

            發(fā)布: 2011-3-09 10:39 | 作者: 何海濤 | 來(lái)源: 本站原創(chuàng ) | 查看: 75次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

              題目(13):編譯運行下圖中的C++代碼,結果是什么?(A)編譯錯誤;(B)編譯成功,運行時(shí)程序崩潰;(C)編譯運行正常,輸出10。請選擇正確答案并分析原因。

              #include

              class A

              {

              private:

              int value;

              public:

              A(int n)

              {

              value = n;

              }

              A(A other)

              {

              value = other.value;

              }

              void Print()

              {

              std::cout << value << std::endl;

              }

              };

              int _tmain(int argc, _TCHAR* argv[])

              {

              A a = 10;

              A b = a;

              b.Print();

              return 0;

              }

              答案:編譯錯誤。在復制構造函數中傳入的參數是A的一個(gè)實(shí)例。由于是傳值,把形參拷貝到實(shí)參會(huì )調用復制構造函數。因此如果允許復制構造函數傳值,那么會(huì )形成永無(wú)休止的遞歸并造成棧溢出。因此C++的標準不允許復制構造函數傳值參數,而必須是傳引用或者常量引用。在Visual Studio和GCC中,都將編譯出錯。

              題目(14):運行下圖中的C++代碼,輸出是什么?

              int SizeOf(char pString[])

              {

              return sizeof(pString);

              }

              int _tmain(int argc, _TCHAR* argv[])

              {

              char* pString1 = "google";

              int size1 = sizeof(pString1);

              int size2 = sizeof(*pString1);

              char pString2[100] = "google";

              int size3 = sizeof(pString2);

              int size4 = SizeOf(pString2);

              printf("%d, %d, %d, %d", size1, size2, size3, size4);

              return 0;

              }

              答案:4, 1, 100, 4。pString1是一個(gè)指針。在32位機器上,任意指針都占4個(gè)字節的空間。*pString1是字符串pString1的第一個(gè)字符。一個(gè)字符占一個(gè)字節。pString2是一個(gè)數組,sizeof(pString2)是求數組的大小。這個(gè)數組包含100個(gè)字符,因此大小是100個(gè)字節。而在函數SizeOf中,雖然傳入的參數是一個(gè)字符數組,當數組作為函數的參數進(jìn)行傳遞時(shí),數組就自動(dòng)退化為同類(lèi)型的指針。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            32/3<123>

            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>