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

            xyjzsh

            c++構(gòu)造函數(shù)間的調(diào)用

             

            #include <stdio.h>

            class CTest
            {
            public:
               CTest() 
            {
                 CTest(
            0);
                
            //已經(jīng)調(diào)用析構(gòu)函數(shù)
                 printf("CTest()\r\n");
               }

            CTest(
            int i) {
                 CTest(i, 
            0);
                
            //已經(jīng)調(diào)用析構(gòu)函數(shù)
                 printf("CTest(%d)\r\n", i);
            }

            CTest(
            int i, int j) {
                   printf(
            "CTest(%d, %d)\r\n", i, j);
            }

            virtual ~CTest(){
                  m_CTestCount
            ++;
                  printf(
            " ~CTest() m_CTestCount = %d\r\n", m_CTestCount);
            }

            static int m_CTestCount;
            }
            ;
            int CTest::m_CTestCount = 0;
            int main()
            {
            CTest cT;
            printf(
            "main()\r\n");
            //調(diào)用析構(gòu)函數(shù)
            return 0;
            }
            調(diào)用CTest()時會產(chǎn)生一個臨時變量。
            如果想在構(gòu)造函數(shù)間調(diào)用要用一下形式:
            class CTest2
            {
            public:
                CTest2()
                
            {
                    a
            =0;
                    b
            =0;
                }

                CTest2(
            int _a)
                
            {
                    
            this->CTest2::CTest2();
                    a 
            = _a;
                    printf(
            "in CTest2(int a) and a=%d,b=%d\n",a,b);
                }

                
            ~CTest2()
                
            {
                    printf(
            "in destrcutor and c=%d\n",c);
                }

                
            int a;
                
            int b;
                
            int static c;
            }
            ;
            注意 this->CTest2::CTest();
            建議:
            因?yàn)闃?gòu)造函數(shù)的特別,我們應(yīng)該盡量避免構(gòu)造函數(shù)間的調(diào)用
            可以采用狗仔函數(shù)默認(rèn)值的方式
            以上為例:
            CTest2(int _a=0,int_b=0);
            這樣就可以省去CTest2()這個默認(rèn)構(gòu)造函數(shù)。

            posted on 2010-10-29 17:11 呆人 閱讀(301) 評論(0)  編輯 收藏 引用


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


            <2011年2月>
            303112345
            6789101112
            13141516171819
            20212223242526
            272812345
            6789101112

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            人人狠狠综合久久亚洲高清| 一本色道久久综合| 中文字幕无码久久人妻| 久久国产福利免费| 一本色综合久久| 国产一区二区精品久久| 欧美综合天天夜夜久久| 久久人人超碰精品CAOPOREN| 成人久久免费网站| 国产精品成人99久久久久91gav| 久久频这里精品99香蕉久| 精品久久久久中文字幕日本 | 亚洲一区精品伊人久久伊人 | 久久er99热精品一区二区| 久久99国产精品一区二区| 久久久久久久久久久精品尤物| 日韩人妻无码一区二区三区久久 | 中文国产成人精品久久不卡| 国产精品免费久久久久久久久| 中文国产成人精品久久不卡| 久久久久人妻精品一区三寸蜜桃| 色婷婷综合久久久中文字幕| 狠狠色丁香婷婷久久综合 | 久久综合九色欧美综合狠狠| 国产亚洲婷婷香蕉久久精品| 久久精品国产亚洲av影院| 99精品久久久久久久婷婷| 性做久久久久久久久| 久久99国产一区二区三区| 色噜噜狠狠先锋影音久久| 久久成人精品视频| 欧美伊香蕉久久综合类网站| 久久亚洲精品视频| 久久精品人人做人人爽电影| 99麻豆久久久国产精品免费| 久久国产热精品波多野结衣AV| 无码人妻精品一区二区三区久久久| 欧美日韩精品久久久免费观看| 伊人久久国产免费观看视频| 久久久久久午夜精品| 亚洲AV日韩精品久久久久|