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


            青青青国产精品国产精品久久久久| 日本久久久久久中文字幕| 性做久久久久久久久浪潮| 国产精品99久久久精品无码 | 久久中文字幕人妻熟av女| 国产成年无码久久久免费| 国产亚洲婷婷香蕉久久精品| 亚洲七七久久精品中文国产| 久久人人爽爽爽人久久久| 美女久久久久久| 久久精品国产亚洲av麻豆色欲 | 久久精品免费全国观看国产| 久久久精品人妻一区二区三区四 | 国产免费福利体检区久久| 欧美牲交A欧牲交aⅴ久久| 日本精品久久久久久久久免费| 亚洲国产欧洲综合997久久| 久久WWW免费人成—看片| 精品久久久久久国产潘金莲| 久久中文字幕人妻熟av女| 欧美久久亚洲精品| 久久99精品久久久久久水蜜桃| 日韩精品久久无码人妻中文字幕| 日韩影院久久| 日韩欧美亚洲国产精品字幕久久久| 久久久91精品国产一区二区三区| 日韩人妻无码精品久久久不卡| 国产精品久久新婚兰兰| 欧美精品乱码99久久蜜桃| 色综合久久88色综合天天 | 亚洲а∨天堂久久精品| 欧美一级久久久久久久大片| 婷婷久久综合九色综合绿巨人| 久久艹国产| 婷婷久久综合九色综合绿巨人 | 久久精品成人免费国产片小草| 国产午夜精品久久久久九九电影 | 久久久久免费看成人影片| 久久综合九色综合久99| 国产精品一久久香蕉国产线看| 国产69精品久久久久9999|