青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 30  文章 - 67  trackbacks - 0
<2013年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(8)

隨筆分類

隨筆檔案

文章檔案

收藏夾

Oops

搜索

  •  

積分與排名

  • 積分 - 86404
  • 排名 - 277

最新評論

閱讀排行榜

評論排行榜

 

貌似好久沒有自己寫過blog了,對于自己這樣一個健忘的人,文采又這么差的人來說,正好借這個機會鍛煉一下自己的文字能力,同時記錄下學過的東西。

貌似用過C++也好久了,碰到這個問題,開始確實感覺到無力,最后還是搜索了下別人是怎么做的。據說是Adobe 07年的面試題。

 

1、第一想法大家都是,既然不能被繼承,也就是一旦繼承這個類之后,類就不能被初始化。

2、可能把類的構造函數私有化,和單例有點像,但是這樣類就不能正常使用了。

3、實在無力,查了下,他們是通過使用虛繼承解決這個問題的。

對于虛繼承,具體資料見:http://blog.163.com/xiangzaihui@126/blog/static/166955749201182294317243/

里面有一句話很重要:C++規定:把真正創建對象時所指定的類稱為是最派生類,虛基類子對象是由最派生類的構造函數通過調用虛基類的構造函數進行初始化的;

 

具體實現代碼如下:

   1: #include <cstdio>
   2: #include <iostream>
   3:  
   4: template<class T> class CFinal{
   5:     friend T;
   6:     private:
   7:         CFinal(){ std::cout << "CFinal()" << std::endl; }
   8:         ~CFinal(){}         
   9: };
  10:  
  11: class CFoo : virtual public CFinal<CFoo>{
  12:     public:
  13:         CFoo(){ std::cout << "CFoo()" << std::endl; }
  14:         ~CFoo(){}
  15: };
  16:  
  17: class CBar : public CFoo{
  18:     public:
  19:        CBar() { std::cout << "CBar" << std::endl; }
  20: };
  21:  
  22: int main()
  23: {
  24:     //CBar bar;
  25:     CFoo foo;
  26:     while(1){}
  27:     return 0;
  28: }

當你創建CBar時,需要初始化CFinal,但是你不是他的friend,不能初始化(上面標紅)

如果你會問不要virtual行不行?
    不行,由于不要virtual,你可以經過CFoo的friend訪問到CFinal,但是有virtual就不同了,你必須直接初始化CFinal(這是C++的規定,避免多次初始化)

 

但是有個問題,gcc不能編譯通過,在friend T出錯,vs2010沒有問題,希望知道的能給點幫助。

 

參考文獻:

http://blog.163.com/xiangzaihui@126/blog/static/166955749201182295845689/(C++實現不能被繼承的類)

posted on 2013-06-15 00:18 Cunch 閱讀(4461) 評論(3)  編輯 收藏 引用 所屬分類: C++面試

FeedBack:
# re: [面試題1]如何實現不能被繼承的C++的類,且能正常使用 2013-06-15 21:28 萬連文
簡而言之,我想是trunk技術?  回復  更多評論
  
# re: [面試題1]如何實現不能被繼承的C++的類,且能正常使用 2013-06-17 23:02 zgpxgame
@萬連文
簡而言之我想是:

非虛繼承 構造調用順序
CBar() -call-> CFoo() -call-> CFinal()

虛繼承 構造調用順序
CBar() -call-> CFinal() // 私有,不可調用
CBar() -call-> CFoo()  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              久久人人超碰| 国产精品日韩在线一区| 91久久香蕉国产日韩欧美9色| 午夜亚洲激情| 欧美在线free| 久久一区视频| 欧美激情麻豆| 91久久午夜| 亚洲一区观看| 久久久www成人免费精品| 久久久xxx| 欧美精品免费播放| 欧美亚洲动漫精品| 黄色国产精品| 夜夜嗨av一区二区三区| 午夜久久福利| 欧美激情 亚洲a∨综合| 在线亚洲电影| 免费欧美在线视频| 美女黄网久久| 久久久久久久一区二区三区| 久久精品毛片| 亚洲国产婷婷| 香蕉免费一区二区三区在线观看 | 免费观看不卡av| 麻豆精品视频在线| 欧美系列亚洲系列| 一区二区在线免费观看| 中日韩午夜理伦电影免费| 久久精品国产亚洲aⅴ| 欧美激情亚洲国产| 亚洲欧美日韩综合aⅴ视频| 免费在线亚洲| 国内精品伊人久久久久av影院| 夜夜嗨av色综合久久久综合网| 久久精品一区四区| 亚洲图片欧美一区| 亚洲一区二区三区精品在线观看| 日韩午夜免费视频| 欧美成人黄色小视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久国产一区| 亚洲精品韩国| 免费观看成人| 亚洲专区在线| 国产偷国产偷亚洲高清97cao| 国产精品久久久久av免费| 亚洲国产视频直播| 美女尤物久久精品| 欧美在线在线| 国产一区二区三区无遮挡| 亚洲综合欧美日韩| 一区二区91| 国产精品国产三级国产普通话蜜臀 | 久久精品人人做人人爽| 国产欧美日韩免费| 亚洲一区视频| 在线天堂一区av电影| 欧美日韩在线一区二区三区| 一区二区三区毛片| 亚洲另类黄色| 国产精品福利在线| 亚洲欧美日韩区| 亚洲综合精品四区| 国产日本亚洲高清| 久久精品首页| 久久免费高清视频| 一区一区视频| 亚洲第一视频网站| 欧美日韩精品免费看| 亚洲综合清纯丝袜自拍| 亚洲免费视频在线观看| 国产一区二区日韩精品欧美精品| 久久九九99| 麻豆国产精品777777在线 | 国语自产偷拍精品视频偷| 欧美在线短视频| 欧美一区二区啪啪| 激情自拍一区| 亚洲激情成人| 国产精品嫩草久久久久| 欧美一区二区大片| 久久中文字幕一区| 一区二区欧美亚洲| 欧美一区二区日韩一区二区| 曰韩精品一区二区| 亚洲人成人一区二区在线观看| 欧美午夜在线视频| 久久不射网站| 欧美成人国产| 欧美一区国产二区| 欧美成人中文字幕| 午夜视频在线观看一区二区| 久久久久中文| 亚洲免费在线电影| 久久免费少妇高潮久久精品99| 日韩小视频在线观看专区| 亚洲欧美www| 亚洲乱码视频| 欧美在线www| 亚洲一区二区三区四区五区午夜 | 翔田千里一区二区| 日韩视频一区二区三区| 亚洲欧美日韩精品久久久| 亚洲国产精品高清久久久| 亚洲一区二区视频在线| 亚洲精品综合精品自拍| 性欧美18~19sex高清播放| 99精品国产热久久91蜜凸| 久久精品国产99精品国产亚洲性色| 99精品福利视频| 欧美国产一区二区| 影视先锋久久| 亚洲欧洲一区二区三区久久| 国产日韩欧美| 一区二区三区.www| 亚洲日本aⅴ片在线观看香蕉| 欧美一区免费视频| 午夜精品久久久久久久久久久| 欧美激情网站在线观看| 美女精品国产| 精品成人在线视频| 欧美一区二区三区在线看| 午夜日韩福利| 国产精品网站在线播放| 夜夜夜久久久| 亚洲午夜电影网| 欧美日韩国产123| 亚洲高清在线观看一区| 亚洲国产日本| 欧美成ee人免费视频| 欧美ab在线视频| 亚洲国产成人av好男人在线观看| 欧美怡红院视频一区二区三区| 欧美影院一区| 国产欧美日韩高清| 性娇小13――14欧美| 欧美中文日韩| 国产自产女人91一区在线观看| 亚洲欧美在线磁力| 久久九九热免费视频| 国内一区二区三区| 久久亚洲综合网| 亚洲第一黄网| 亚洲免费av网站| 国产精品大片| 欧美一区日韩一区| 欧美成人精品在线| 亚洲免费成人av| 国产精品草草| 欧美一级大片在线观看| 欧美ed2k| 一区二区三区黄色| 国产欧美日韩专区发布| 久久久国产视频91| 亚洲国产精品va| 亚洲香蕉在线观看| 国产一区二区三区四区在线观看 | 国产日韩欧美日韩大片| 久久久国产精品一区| 亚洲激情黄色| 欧美一级专区免费大片| 亚洲国产高清高潮精品美女| 欧美日本国产| 亚洲欧美视频一区| 欧美激情欧美激情在线五月| 亚洲图片欧洲图片av| 国产亚洲人成a一在线v站 | 久久超碰97人人做人人爱| 欧美多人爱爱视频网站| 午夜精品短视频| 亚洲国产毛片完整版| 国产精品毛片va一区二区三区 | 久久资源av| 亚洲欧美国产77777| 国产一区二区在线观看免费| 免费日本视频一区| 午夜精品久久久久久久久久久久久| 久久综合中文色婷婷| 亚洲一区亚洲| 亚洲精品乱码久久久久| 国产日本欧美在线观看| 欧美日韩日韩| 欧美第一黄网免费网站| 欧美在线播放一区| 亚洲一区二区三区精品视频| 亚洲国产精品福利| 久久香蕉国产线看观看av| 亚洲一区日本| 亚洲最新视频在线| 亚洲国产一二三| 一区二区三区在线看| 国产美女精品视频| 欧美午夜精品一区| 欧美日韩国产综合网| 欧美成人激情在线| 免费观看成人网| 久久综合网色—综合色88| 欧美一区二区三区四区高清| 一区二区三区欧美激情|