• <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++構造函數間的調用

             

            #include <stdio.h>

            class CTest
            {
            public:
               CTest() 
            {
                 CTest(
            0);
                
            //已經調用析構函數
                 printf("CTest()\r\n");
               }

            CTest(
            int i) {
                 CTest(i, 
            0);
                
            //已經調用析構函數
                 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");
            //調用析構函數
            return 0;
            }
            調用CTest()時會產生一個臨時變量。
            如果想在構造函數間調用要用一下形式:
            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();
            建議:
            因為構造函數的特別,我們應該盡量避免構造函數間的調用
            可以采用狗仔函數默認值的方式
            以上為例:
            CTest2(int _a=0,int_b=0);
            這樣就可以省去CTest2()這個默認構造函數。

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

            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導航

            統計

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久狠狠高潮亚洲精品| 国产午夜电影久久| 亚洲AV日韩AV永久无码久久| 久久综合亚洲鲁鲁五月天| 亚洲国产精品成人久久| 久久精品无码专区免费青青 | 久久99国产精品久久99果冻传媒 | 韩国三级中文字幕hd久久精品 | 国产精品久久久久影院嫩草| 国产成人99久久亚洲综合精品| 一级女性全黄久久生活片免费| 国产精品久久久久国产A级| 性做久久久久久久久久久| 99久久无色码中文字幕| 久久精品极品盛宴观看| 国产午夜福利精品久久| 亚洲va久久久噜噜噜久久| 日本精品久久久久影院日本 | 国产精品久久成人影院| 久久综合亚洲色HEZYO社区| 久久99精品国产麻豆婷婷| 99re这里只有精品热久久| 久久久久久久97| 一本一道久久a久久精品综合| 久久精品男人影院| 97精品久久天干天天天按摩| 亚洲αv久久久噜噜噜噜噜| 欧美亚洲国产精品久久| 久久久久国产一级毛片高清板| 日本免费一区二区久久人人澡| 国内精品久久久人妻中文字幕| 亚洲av伊人久久综合密臀性色| 一本色道久久88综合日韩精品| 婷婷久久综合九色综合绿巨人| 久久综合狠狠综合久久97色| 国产成人精品久久综合 | 99久久精品国产一区二区三区| 7国产欧美日韩综合天堂中文久久久久| 久久99精品久久久久婷婷| 久久精品无码专区免费青青| 国产精品久久久久久吹潮|