• <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>

            Codejie's C++ Space

            Using C++

            記錄:析構(gòu)函數(shù)中的虛函數(shù)問題

            #include? < iostream >

            class ?CTopClass
            {
            public :
            ????CTopClass()?{}
            ????
            virtual ? ~ CTopClass()
            ????{
            ????????VirtualRelease();
            ????}
            ????
            ????
            virtual ? void ?VirtualRelease()
            ????{
            ????????std::cout?
            << ? " Top " ? << ?std::endl;
            ????}
            };

            class ?CSubClass?:? public ?CTopClass
            {
            public :
            ????CSubClass()?{}
            ????
            virtual ? ~ CSubClass()?{}
            ????
            ????
            virtual ? void ?VirtualRelease()
            ????{
            ????????std::cout?
            << ? " Sub " ? << ?std::endl;
            ????}
            };

            void ?Test()
            {
            ????CSubClass?sub;
            }

            int ?main()
            {
            ????Test();
            ????
            return ? 0 ;
            }
            ??? 上面的代碼會(huì)輸出什么?是“sub”嗎?答案是no。
            ???? 本來(lái)我以為VirtualRelease是虛函數(shù)了,在釋放時(shí),應(yīng)該會(huì)調(diào)用到真正實(shí)例化的CSubClass的VirtualRelease,然而,我錯(cuò)了,輸出是“top”,和CSubClass么關(guān)系。而我的需求是析構(gòu)是調(diào)用Sub和Top的VirtualRelease,因此對(duì)CSubClass的析構(gòu)函數(shù)需要作如下修改:
            class?CSubClass?:?public?CTopClass
            {
            public:
            ????CSubClass()?{}
            ????
            virtual?~CSubClass()
            ????{
            ????????VirtualRelease();
            ????}
            ????
            ????
            virtual?void?VirtualRelease()
            ????{
            ????????std::cout?
            <<?"Sub"?<<?std::endl;
            ????}
            };
            ??? 這樣修改下,輸出就是“sub top”了。

            ??? 這里記錄一下,被這個(gè)錯(cuò)誤印象搞死多次了~唉~

            posted on 2009-05-19 00:10 codejie 閱讀(219) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++隨筆而已

            公告

            Using C++

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品无码久久久久| 性做久久久久久久久| 久久99国产精品99久久| 久久夜色精品国产亚洲| 日本精品一区二区久久久| 狠狠色婷婷久久一区二区| 久久精品人人做人人爽电影| 国产精品欧美久久久久无广告| 无码人妻久久一区二区三区免费| 狠狠色丁香久久综合五月| 欧洲性大片xxxxx久久久| 精品久久久久久亚洲精品 | 99久久精品国产麻豆| 三级片免费观看久久| 丰满少妇高潮惨叫久久久| 久久天天躁狠狠躁夜夜avapp| 伊人久久大香线蕉精品| 久久天天躁狠狠躁夜夜网站| 久久性生大片免费观看性| 成人午夜精品久久久久久久小说| 久久久久久国产精品免费无码 | 国产精品欧美久久久久无广告| 久久久久成人精品无码中文字幕| 亚洲国产精品一区二区三区久久| www.久久精品| 一本大道加勒比久久综合| 国产成人精品白浆久久69| 嫩草伊人久久精品少妇AV| 亚洲色欲久久久综合网东京热| 人妻系列无码专区久久五月天| 精品久久久久国产免费| 久久九九免费高清视频 | 久久99热这里只有精品国产| 久久久久国色AV免费看图片| 久久久久99精品成人片| 久久国产视频99电影| 久久99精品国产麻豆婷婷| 久久有码中文字幕| 色8激情欧美成人久久综合电| 麻豆av久久av盛宴av| 亚洲精品美女久久777777|