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

            MySpace

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              18 隨筆 :: 2 文章 :: 10 評論 :: 0 Trackbacks

            寫了一段代碼是這樣的


             

            #include "stdio.h"
            #include <string>
            #include <iostream>

            using namespace std;


             class A
             {
             public:
              A():i(0)
              {
               i++;

               cout << " A::A() is Exce." << endl;
              }

              virtual ~A()
              {
               i--;

               cout << " A::~A() is Exce." << endl;
              }

             private:
              int i;
             };

             class B : public A
             {
             public:
              B():j(0)
              {
               j++;

               cout << " B::B() is Exce." << endl;
              }

              ~B()
              {
               j--;

               cout << " B::~B() is Exce." << endl;
              }

             private:
              int j;
             };


            int main(void)
            {

             A *b = new B();

             delete b;

             return 0;
            }


            改代碼在 WINDOWS 和 LINUX 下編譯和執(zhí)行均沒有問題,但是在用 VC2005 逐步調(diào)試的時(shí)候會有問題。 delete b; 語句執(zhí)行時(shí),是先執(zhí)行 B 類的析構(gòu)函數(shù),然后是 A 類的析構(gòu)函數(shù)。于是我在 A 類的析構(gòu)函數(shù)中  i--;  處設(shè)置了斷點(diǎn),然后再逐步執(zhí)行,該函數(shù)執(zhí)行完成后執(zhí)行光標(biāo)突然跳到了 B類的析構(gòu)函數(shù)之后,然后 VC2005 提示該處找不到可執(zhí)行的代碼。但是直接運(yùn)行生成的 EXE 程序卻沒有問題。由于 b 為 A 類型 但又指向 B 的一個(gè)指針,若 A 的析構(gòu)函數(shù)不為虛函數(shù)的話那 B 的析構(gòu)函數(shù)是不會執(zhí)行的。我還沒有在 LINUX 下逐步調(diào)試改代碼,不知道上面的問題是否是由 VC  自己的問題引起的。

             


             

            剛剛在 LINUX 下用 KDEVLOP 逐步調(diào)試了一下,當(dāng) A 類的析構(gòu)函數(shù)設(shè)置為虛函數(shù)的時(shí)候沒有出現(xiàn) VC 下那樣的錯(cuò)誤提示,輸出也正確。只是我在 A 類的析構(gòu)函數(shù)中設(shè)置的斷點(diǎn)是無效的,就是說該析構(gòu)函數(shù)中語句是可以執(zhí)行的但是此處的斷點(diǎn)不能讓程序在此處停下來。看來可能是在此種問題上 VC 在 DEBUG時(shí)是做了一些并不是非常準(zhǔn)確的但可能是安全性方面的提示。

            posted on 2008-06-04 10:30 yang-chunlei 閱讀(305) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            中文字幕乱码久久午夜| 人妻无码αv中文字幕久久琪琪布| 久久精品aⅴ无码中文字字幕不卡| 久久99精品国产麻豆宅宅| 亚洲∧v久久久无码精品| 欧美亚洲另类久久综合| 久久久这里有精品中文字幕| 2020久久精品亚洲热综合一本| 欧美牲交A欧牲交aⅴ久久| 国产成人精品久久| 色诱久久久久综合网ywww| 亚洲国产精品久久久久久| 精品久久久久久中文字幕大豆网| 成人国内精品久久久久一区| 伊人久久亚洲综合影院| 一本色道久久综合亚洲精品| 久久精品这里只有精99品| 国产精品久久久福利| 99久久99久久精品国产片果冻| 99久久精品国产综合一区| 久久久亚洲欧洲日产国码是AV| 国产成人精品久久亚洲高清不卡| 亚洲乱码中文字幕久久孕妇黑人| 欧美久久一级内射wwwwww.| 青青草国产精品久久久久| 久久无码人妻一区二区三区| 一97日本道伊人久久综合影院| 国产精品成人久久久久三级午夜电影| 久久精品国产亚洲AV不卡| 久久99热这里只频精品6| 久久影院午夜理论片无码| 国产精品成人久久久久三级午夜电影| 久久99精品久久久久婷婷| 久久综合狠狠综合久久| 思思久久99热只有频精品66| 久久精品二区| 国产精品伦理久久久久久| 精品综合久久久久久97超人| 成人妇女免费播放久久久| 91亚洲国产成人久久精品| 九九久久精品国产|