国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

您現在所在的位置:首頁 >學員就業 > 就業寶典 > 經典C++面試題,看看你會多少?(一)

經典C++面試題,看看你會多少?(一)

來源:奇酷教育 發表于:

題目(一):我們可以用static修飾一個類的成員函數,也可以用const修飾類的成員函數(寫在函數的最后表示不能修改成員變量,不是指寫在前

題目(一):我們可以用static修飾一個類的成員函數,也可以用const修飾類的成員函數(寫在函數的最后表示不能修改成員變量,不是指寫在前面表示返回值為常量)。請問:能不能同時用staticconst修飾類的成員函數?

分析:答案是不可以。C++編譯器在實現const的成員函數的時候為了確保該函數不能修改類的實例的狀態,會在函數中添加一個隱式的參數const this*。但當一個成員為static的時候,該函數是沒有this指針的。也就是說此時static的用法和static是沖突的。

我們也可以這樣理解:兩者的語意是矛盾的。static的作用是表示該函數只作用在類型的靜態變量上,與類的實例沒有關系;而const的作用是確保函數不能修改類的實例的狀態,與類型的靜態變量沒有關系。因此不能同時用它們。

題目(二):運行下面的代碼,輸出是什么?

class A

{

};

 

class B

{

public:

        B() {}

        ~B() {}

};

 

class C

{

public:

        C() {}

        virtual ~C() {}

};

 

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

{

        printf("%d, %d, %d\n"sizeof(A), sizeof(B), sizeof(C));

        return 0;

}

分析:答案是1, 1, 4class A是一個空類型,它的實例不包含任何信息,本來求sizeof應該是0。但當我們聲明該類型的實例的時候,它必須在內存中占有一定的空間,否則無法使用這些實例。至于占用多少內存,由編譯器決定。Visual Studio 2008中每個空類型的實例占用一個byte的空間。

class Bclass A的基礎上添加了構造函數和析構函數。由于構造函數和析構函數的調用與類型的實例無關(調用它們只需要知道函數地址即可),在它的實例中不需要增加任何信息。所以sizeof(B)sizeof(A)一樣,在Visual Studio 2008中都是1

class Cclass B的基礎上把析構函數標注為虛擬函數。C++的編譯器一旦發現一個類型中有虛擬函數,就會為該類型生成虛函數表,并在該類型的每一個實例中添加一個指向虛函數表的指針。在32位的機器上,一個指針占4個字節的空間,因此sizeof(C)4

題目(三):運行下面中的代碼,得到的結果是什么

class A

{

private:

        int m_value;

 

public:

        A(int value)

        {

                m_value = value;

        }

        void Print1()

        {

                printf("hello world");

        }

        void Print2()

        {

                printf("%d", m_value);

        }

};

 

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

{

        A* pA = NULL;

        pA->Print1();

        pA->Print2();

 

        return 0;

}

分析:答案是Print1調用正常,打印出hello world,但運行至Print2時,程序崩潰。調用Print1時,并不需要pA的地址,因為Print1的函數地址是固定的。編譯器會給Print1傳入一個this指針,該指針為NULL,但在Print1中該this指針并沒有用到。只要程序運行時沒有訪問不該訪問的內存就不會出錯,因此運行正常。在運行print2時,需要this指針才能得到m_value的值。由于此時this指針為NULL,因此程序崩潰了。

題目(四):運行下面中的代碼,得到的結果是什么

class A

{

private:

        int m_value;

 

public:

        A(int value)

        {

                m_value = value;

        }

        void Print1()

        {

                printf("hello world");

        }

        virtual void Print2()

        {

                printf("hello world");

        }

};

 

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

{

        A* pA = NULL;

        pA->Print1();

        pA->Print2();

 

        return 0;

}

分析:答案是Print1調用正常,打印出hello world,但運行至Print2時,程序崩潰。Print1的調用情況和上面的題目一樣,不在贅述。由于Print2是虛函數。C++調用虛函數的時候,要根據實例(即this指針指向的實例)中虛函數表指針得到虛函數表,再從虛函數表中找到函數的地址。由于這一步需要訪問實例的地址(即this指針),而此時this指針為空指針,因此導致內存訪問出錯。

題目(五):靜態成員函數能不能同時也是虛函數

分析:答案是不能。調用靜態成員函數不要實例。但調用虛函數需要從一個實例中指向虛函數表的指針以得到函數的地址,因此調用虛函數需要一個實例。兩者相互矛盾。

国产高清网站_亚洲一区二区综合_成人久久18免费网站_国产成人久久精品激情

    <sup id="ys8cw"><kbd id="ys8cw"></kbd></sup>

    <sup id="ys8cw"><font id="ys8cw"><output id="ys8cw"></output></font></sup>

    久久精品人人做| 国内成人免费视频| 成人精品小蝌蚪| 久久人人97超碰com| 免费在线观看精品| 欧美日产在线观看| 亚洲国产日韩一区二区| 一本一道综合狠狠老| |精品福利一区二区三区| 成人免费观看av| 国产精品欧美一区二区三区| 粉嫩久久99精品久久久久久夜| 久久在线观看免费| 国产伦精一区二区三区| 国产日产亚洲精品系列| 国产经典欧美精品| 国产精品麻豆欧美日韩ww| 不卡区在线中文字幕| 中文字幕日本乱码精品影院| 91片黄在线观看| 亚洲精品国产无天堂网2021| 欧美在线观看视频在线| 日韩经典中文字幕一区| 日韩精品一区二区三区视频播放| 蓝色福利精品导航| 久久精品视频一区| 色婷婷精品久久二区二区蜜臀av | 欧美激情在线看| 成人av电影免费在线播放| 亚洲人吸女人奶水| 欧美日韩久久一区| 激情欧美日韩一区二区| 国产亚洲污的网站| 色婷婷av一区二区三区gif| 亚洲成av人综合在线观看| 日韩欧美国产午夜精品| 成人亚洲精品久久久久软件| 亚洲视频一二区| 欧美人妖巨大在线| 国产麻豆精品久久一二三| 国产精品欧美精品| 欧美丰满美乳xxx高潮www| 国内精品嫩模私拍在线| 亚洲人成亚洲人成在线观看图片| 欧美卡1卡2卡| 国产精品中文字幕一区二区三区| 国产精品美女久久久久久| 欧美色老头old∨ideo| 国产精品一区二区免费不卡| 一区二区三区欧美视频| 欧美一区二区三区电影| 成人国产一区二区三区精品| 首页亚洲欧美制服丝腿| 国产精品久久毛片av大全日韩| 欧美剧在线免费观看网站| 国产精品1区2区3区在线观看| 亚洲综合激情网| 国产色婷婷亚洲99精品小说| 欧美日韩亚洲不卡| 成人免费观看av| 美女高潮久久久| 亚洲国产日韩综合久久精品| 国产欧美一区二区精品性| 欧美日韩国产成人在线91| 丰满少妇久久久久久久| 老司机精品视频线观看86| 一区二区三区精品在线| 中文字幕av不卡| 日韩欧美电影在线| 欧美日韩精品综合在线| 国产69精品久久久久777| 日韩和欧美的一区| 一区二区三区在线视频观看58| www久久精品| 日韩精品一区二区三区在线 | 捆绑变态av一区二区三区| 一区二区三区自拍| 亚洲欧洲日韩女同| 久久无码av三级| 日韩无一区二区| 51精品视频一区二区三区| 在线免费观看日本欧美| aaa国产一区| 99这里都是精品| av在线这里只有精品| 成人午夜av影视| 成人午夜激情在线| 国产黄色成人av| 国产精品自在在线| 国产精品69久久久久水密桃| 精品一区免费av| 精品一区二区三区免费观看 | 午夜激情一区二区| 亚洲一级二级在线| 午夜在线成人av| 日本欧美在线观看| 蜜桃视频一区二区三区在线观看| 日日夜夜精品免费视频| 日本vs亚洲vs韩国一区三区二区| 午夜av区久久| 精品中文字幕一区二区| 精品一区二区三区在线播放视频| 激情久久久久久久久久久久久久久久| 蜜臀久久99精品久久久久宅男| 美女网站色91| 国产精品91xxx| 99久久精品国产网站| 色哦色哦哦色天天综合| 欧美视频一区二区三区四区| 91精品蜜臀在线一区尤物| 精品三级在线看| 欧美激情在线免费观看| 国产精品国产三级国产三级人妇 | 亚洲人精品午夜| 亚洲一区二区三区不卡国产欧美 | 国产欧美精品国产国产专区| 国产欧美一区二区精品性色超碰| 亚洲欧美在线观看| 午夜精品国产更新| 国产麻豆视频一区二区| 91美女精品福利| 欧美一区二区成人6969| 中文一区一区三区高中清不卡| 日韩美女视频一区二区 | 欧美性三三影院| 欧美videos大乳护士334| 国产精品人成在线观看免费 | 午夜精品久久久久久久久久| 精品一二三四区| 91碰在线视频| 日韩免费在线观看| 亚洲欧美一区二区久久| 麻豆91精品91久久久的内涵| 成人成人成人在线视频| 91麻豆精品国产91久久久久久久久| 国产亚洲精品7777| 亚洲va国产天堂va久久en| 国产精品亚洲成人| 欧美男生操女生| 国产精品乱人伦中文| 另类欧美日韩国产在线| 91麻豆国产福利精品| 亚洲精品在线一区二区| 亚洲一区欧美一区| 国产99精品在线观看| 日韩欧美国产系列| 亚洲一区视频在线观看视频| 国产91在线观看丝袜| 日韩三级视频在线看| 亚洲精品老司机| 成人免费视频网站在线观看| 日韩欧美亚洲国产精品字幕久久久| 中文字幕欧美一区| 国产精品乡下勾搭老头1| 884aa四虎影成人精品一区| 亚洲免费资源在线播放| 国产经典欧美精品| 精品粉嫩超白一线天av| 日本中文字幕一区二区有限公司| 波多野结衣精品在线| 国产亚洲一区二区三区四区| 青青草国产精品97视觉盛宴| 欧美无砖砖区免费| 一区二区激情视频| 色综合久久中文综合久久牛| 国产精品二区一区二区aⅴ污介绍| 免费成人在线播放| 欧美精品三级日韩久久| 亚洲va天堂va国产va久| 欧美在线观看视频在线| 亚洲黄色录像片| 91婷婷韩国欧美一区二区| 国产精品盗摄一区二区三区| 成人禁用看黄a在线| 中文字幕av资源一区| 国产成人免费在线视频| 久久久.com| 高清不卡一二三区| 国产精品久久久一本精品| 国产69精品一区二区亚洲孕妇| 久久久亚洲精华液精华液精华液| 久久99精品一区二区三区| 欧美成人免费网站| 国内一区二区视频| 欧美国产日韩精品免费观看| 成人午夜看片网址| 亚洲天堂av一区| 欧洲激情一区二区| 日日噜噜夜夜狠狠视频欧美人| 欧美一区二区视频在线观看2022| 久久精品久久99精品久久| 精品电影一区二区| 成人精品免费视频| 亚洲一区视频在线| 欧美日韩国产一二三| 免费xxxx性欧美18vr| 久久综合九色综合欧美98| 成人黄色软件下载| 亚洲影院理伦片| 欧美大黄免费观看|