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

            f(sixleaves) = sixleaves

            重劍無鋒 大巧不工

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks

            1.創建對象:

                 在java中創建對象只能用new才行,返回的是引用類型,所以對象名其實是引用。而C++中的對象創建不一樣,C++可以用指針存對象,相當于引用。也可以直接用類標識符來創建對象。如Person是類,Person a,b;在C++中就創建了兩個對象,在java中是Person對象的引用。

            2.C++中了this指針:

                 C++中的this指針和java中的一樣。在C++中,this指針指向當前對象,this指針隱含在每個成員函數之中,其類型是class className *.

                 內部機制:

                 在C++中訪問數據成員都是隱含的使用this指針操作的。需要注意的是。

                 1.this指針是const類型,不可改變。

                 2.this指針針對對象,所以靜態成員是沒有this指針的。

            3.構造函數和析構函數

                 構造函數就不說了,只說下默認構造函數就死className() {},默認會生成。但是如果你自己定義了構造函數,而且不是定義成默認構造函數,就要在定義一下默認構造函數,不然創建對象時候必須指定參數,不能用無參數的。

                 析構函數,就是用來在對象要銷毀時候,回收一些對象自己向系統申請的內存。析構函數調用完后,系統才清除對象本身占據的內存。

                  Tips:

                   1.析構函數不能重載,只有一種形式~className() {},這是和構造函數的區別

                   2.三種情況下調用析構函數,對象離開局部作用域后,撤銷對象觸發,程序終止,觸發;delete運算符回收new創建的對象觸發;臨時匿名函數使用完畢;

            4.拷貝構造函數和單參構造函數

                    (1)拷貝構造函數,其實就是構造函數中的單參數形式的構造函數,只是其參數比較特別,是對自身同類對象的引用。拷貝構造函數在一下幾個的方會用到。

                     Date a;Date b(a);//調用的就是拷貝構造函數

                     Date b = a;//調用的也是拷貝構造函數

                     function(Date d){….};function(a);//調用的也是拷貝構造函數(先創建Date類的匿名對象,然后調用拷貝構造函數)

                     Date c = function(a);//這邊function返回Date對象,也是調用拷貝構造函數(沒有創建匿名對象)

                     (2)單參構造函數

                      單參數構造函數。其實拷貝構造函數也是單參構造函數。但是我將他們區別開來,主要是單參構造函數,主要是用在,隱式的類型轉換上。

                      如你定義了一個Integer類,直接Integer a = 1;是會出錯的。因為1不能自動或者隱含的轉換成Integer對象,所以這時候你就要定義

                      單參數構造函數,用來讓自動轉換,在java中稱為包裝。由于是構造函數,參數中的類型就是那個要轉換的類型。其它和基本構造函數一樣。

            5.靜態成員

                    靜態成員又分為靜態數據成員和靜態函數成員。C++中的靜態函數成員和java也沒區別。主要是靜態數據成員。所以我們總結下靜態數據成員

                  (1)靜態數據成員和類共存亡而不是和對象。

                  (2)靜態數據成員在類加載時候分配空間并進行初始化,而不是在對象加載時候。所以靜態數據成員默認初始化為0。

                         重點是:類中的靜態數據成員知識一份聲明,必須在類外重新定義并初始化靜態數據成員。

                  (3)類外通過類作用域運算符::訪問靜態數據成員。

            6.const用法

                    (1)const成員函數,這時候const加載函數名后面 {}之前。表示函數不會改變當前對象的狀態,而且只能調用const成員函數。(養成習慣,能加盡量加)

                           Tips:這里const也是函數簽名的一部分。

                    (2)const對象,表示常量對象。

                    (3)const形參,表示函數中不會改變該形參。注意:常量對象,只能調用const成員函數,因為這才能保證狀態不被改變,同時這樣保證了他就是常量對象。

                            Tips:這里const也是函數簽名的一部分。

                     (4)const返回值,說明返回值是不可以改變的。

            以上這些都是總結,不是寫給沒基礎的人看的。只是為了方便整理和記憶。

            posted on 2014-09-04 17:18 swp 閱讀(308) 評論(0)  編輯 收藏 引用 所屬分類: program language
            色综合久久天天综线观看| 夜夜亚洲天天久久| 人妻精品久久无码区| 久久久婷婷五月亚洲97号色| 国产午夜久久影院| 久久综合成人网| 国产成年无码久久久久毛片| 久久国产三级无码一区二区| 漂亮人妻被黑人久久精品| 久久久久久久综合日本亚洲| 亚洲精品WWW久久久久久| 国产Av激情久久无码天堂| 精品久久久久久无码免费| 久久综合噜噜激激的五月天| 国产精品美女久久久久AV福利| 国产偷久久久精品专区 | 久久午夜无码鲁丝片| 久久久久这里只有精品| 久久成人精品视频| 日产精品久久久一区二区| 欧美一区二区久久精品| 久久精品国产精品亚洲艾草网美妙| 99久久免费国产特黄| 亚洲乱码精品久久久久..| 久久婷婷色香五月综合激情| 99久久国产综合精品五月天喷水 | 久久er热视频在这里精品| 久久中文字幕精品| 久久久国产99久久国产一| 青青热久久国产久精品| 久久免费国产精品| 久久国产视屏| 久久久久久国产精品美女| 91久久国产视频| 国产激情久久久久影院老熟女| 9久久9久久精品| 国产精品久久久久久福利漫画 | 久久久国产乱子伦精品作者| 浪潮AV色综合久久天堂| 国产精品一区二区久久不卡| 狠狠色丁香久久婷婷综|