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

            C++編程失樂園

            致力于解決論壇的不足,探討C++的原理

            C++下面的構造拷貝函數和賦值函數

            首先我給出一個類
            class A
            {
            public:
            ???char *p;
            ???int nlen;
            ?? A();
            ?? A(const char *p1)
            ???{
            ????? nlen = strlen(p1);
            ??????p = new char[nlen+1];
            ??????strcpy(p,p1);
            ???}
            };
            void main()
            {
            ???A a("Hello world");
            ?? A b = a;
            }
            如果沒有構造拷貝函數的話,
            這樣明顯會出現2個問題,
            1.a.p和b.p指向同一個內存區域
            //2.a.p資源沒有釋放
            3.a和b調用了默認析構函數的話,同一個資源被釋放了2次.
            這就是沒有構造拷貝函數的缺陷
            在class A中加入
            /*-----------------------------add?method ------------*/
            A(const A & a1)
            {
            ???nlen = strlen(a1.p);
            ???p?= new char[nlen+1];
            ? strcpy(p,p1);
            }
            /*------------------------------end add ---------------*/
            這樣就加入了構造拷貝函數
            明顯上面的問題可以解決,
            我們可以寫更美觀一點的代碼
            void main()
            {
            ???A a("Hello World");
            ???A b(a);
            ???cout <<"debug breakpoint is setted here"<<endl;
            }

            posted on 2006-12-25 10:57 木木頭 閱讀(260) 評論(0)  編輯 收藏 引用

            導航

            <2006年12月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            統計

            常用鏈接

            留言簿(3)

            隨筆分類(29)

            搜索

            最新隨筆

            最新評論

            精品国产99久久久久久麻豆 | 久久精品亚洲欧美日韩久久| 免费精品99久久国产综合精品| 久久96国产精品久久久| 国产精品熟女福利久久AV| 狠狠色丁香婷婷久久综合五月| 一本色道久久综合亚洲精品| 国产精品gz久久久| 精品熟女少妇AV免费久久| 国产成人精品久久一区二区三区av| 久久久国产精华液| 久久国产三级无码一区二区| 久久国产精品成人片免费| 一级女性全黄久久生活片免费 | 亚洲午夜久久久| 91久久香蕉国产熟女线看| 无码人妻久久一区二区三区| 少妇被又大又粗又爽毛片久久黑人| 久久精品人人做人人妻人人玩| 亚洲欧美日韩精品久久亚洲区 | 久久久无码精品午夜| 国产精品久久久久久一区二区三区| 久久人人爽人人爽人人片AV东京热 | 国产精品无码久久久久久| 亚洲人AV永久一区二区三区久久| 国产成人香蕉久久久久| 久久国产免费观看精品| 九九精品99久久久香蕉| 少妇内射兰兰久久| 久久这里只有精品首页| 久久人做人爽一区二区三区 | 久久久久国产精品嫩草影院| 久久高清一级毛片| 精品无码久久久久久久动漫| 久久精品中文字幕有码| 精品久久人人妻人人做精品| 久久综合五月丁香久久激情| 最新久久免费视频| 无码国内精品久久综合88| 久久精品中文闷骚内射| 国产成人精品白浆久久69|