在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 類和對象
動態(tài)內(nèi)存
類和對象
接口 (抽象類)
結(jié)構(gòu)體
循環(huán)的類型
函數(shù)
數(shù)字
日期和時間
基本語法
多態(tài)
數(shù)據(jù)抽象
注釋
命名空間
字符串
預(yù)處理器
決策語句
修飾符的類型
鍙橀噺綾誨瀷
基本輸入輸出
操作符
數(shù)組
模板
多線程
繼承
Web 編程
信號處理
指針
存儲類型
概述
引用
常量
異常處理
開發(fā)環(huán)境
重載
變量作用域
數(shù)據(jù)類型
數(shù)據(jù)封裝
文件和流

類和對象

C++ 編程的主要目的是將面向?qū)ο蟮乃枷胍M到 C 編程語言中,類是 C++ 的核心特征,用來支持面向?qū)ο缶幊?,類通常被稱為用戶定義的類型。

類是用于指定一個對象的形式,它將數(shù)據(jù)表示和用于處理數(shù)據(jù)的方法組合成一個整潔的包。一個類的數(shù)據(jù)和函數(shù)統(tǒng)稱為類的成員。

C++ 類的定義

當(dāng)你定義了一個類,你就定義一個數(shù)據(jù)類型的藍圖。這實際上沒有定義任何數(shù)據(jù),它只是定義了類名是什么意思,也就是意味著,一個類的對象包含什么,在這樣一個對象上可以執(zhí)行哪些操作。

定義一個類,以關(guān)鍵字 class 開始,緊隨其后的是類名,和類的主體,類的主體由一對大括號封閉。一個類定義必須以分號或者一系類聲明結(jié)尾。例如,我們通過使用關(guān)鍵字 class 定義 Box 數(shù)據(jù)類型,如下所示:

    class Box
    {
       public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
    };

關(guān)鍵字 public 決定了緊隨其后的類的成員的訪問屬性。一個公共成員可以從類外處于任何一個類對象范圍內(nèi)的地方訪問。類對象的范圍內(nèi)的任何地方。您還可以指定一個類的成員為 privatepublic,我們將在一個小節(jié)中討論它們。

定義 C++ 對象

一個類為對象提供了藍圖,對象是由類創(chuàng)建而來。我們聲明一個類的對象的方式,用聲明其他基本類型變量的方式完全相同。以下語句聲明 Box 類的兩個對象:

    Box Box1;  // Declare Box1 of type Box
    Box Box2;  // Declare Box2 of type Box

Box1 和 Box2 對象都分別持有其各自的數(shù)據(jù)副本。

訪問數(shù)據(jù)成員

類的對象的公共數(shù)據(jù)成員可以使用直接成員訪問操作符:(.)訪問。試著執(zhí)行下面的例子,能更清晰的說明這個問題:

    #include <iostream>

    using namespace std;

    class Box
    {
       public:
      double length;   // Length of a box
      double breadth;  // Breadth of a box
      double height;   // Height of a box
    };

    int main( )
    {
       Box Box1;// Declare Box1 of type Box
       Box Box2;// Declare Box2 of type Box
       double volume = 0.0; // Store the volume of a box here

       // box 1 specification
       Box1.height = 5.0; 
       Box1.length = 6.0; 
       Box1.breadth = 7.0;

       // box 2 specification
       Box2.height = 10.0;
       Box2.length = 12.0;
       Box2.breadth = 13.0;
       // volume of box 1
       volume = Box1.height * Box1.length * Box1.breadth;
       cout << "Volume of Box1 : " << volume <<endl;

       // volume of box 2
       volume = Box2.height * Box2.length * Box2.breadth;
       cout << "Volume of Box2 : " << volume <<endl;
       return 0;
    }

編譯和執(zhí)行上面的代碼,執(zhí)行結(jié)果如下:

    Volume of Box1 : 210
    Volume of Box2 : 1560

需要特別加以注意的是,不能使用直接成員訪問操作符:(.) 直接訪問私有成員和保護成員。我們將在以后學(xué)習(xí)如何訪問私有成員和保護成員。

類與對象的細節(jié)

到目前為止,我們已經(jīng)對 C++ 類和對象有了最基本的了解。還還有更多的與 C++ 類和對象相關(guān)的有趣的概念,我們將在下面列出的各個小節(jié)中討論它們:

內(nèi)容 描述
類成員函數(shù) 類的成員函數(shù)是一個函數(shù),像其他變量一樣,成員函數(shù)在類中有其定義和原型。
類的訪問修飾符 一個類成員可以被定義為公共,私有或保護。默認情況下成員將被假定為私有。
構(gòu)造函數(shù)和析構(gòu)函數(shù) 一個類的構(gòu)造函數(shù)是一種特殊的函數(shù),在創(chuàng)建一個類的新對象時調(diào)用它。析構(gòu)函數(shù)也是一個特殊的函數(shù),當(dāng)創(chuàng)建對象被刪除時調(diào)用它。
C++ 拷貝構(gòu)造函數(shù) 拷貝構(gòu)造函數(shù)是一個構(gòu)造函數(shù),它創(chuàng)建一個對象并用之前已經(jīng)創(chuàng)建好的一個同類的對象對其進行初始化。
C++ 友函數(shù) 一個友(friend)函數(shù)允許完全訪問類的私有成員和保護成員。
C++ 內(nèi)聯(lián)函數(shù) 使用一個內(nèi)聯(lián)函數(shù),編譯器試圖用函數(shù)體中的代碼替換調(diào)用函數(shù)的地方的函數(shù)名,從而達到消除函數(shù)調(diào)用時的時間開銷的目的。
C++ 中的 this 指針 每個對象都有一個特殊的指針 this,它指向?qū)ο蟊旧怼?/td>
指向 C++ 類的指針 類指針和一個指向結(jié)構(gòu)的指針是以完全相同的方式實現(xiàn)的。事實上一個類就是一個在其中包含了函數(shù)的結(jié)構(gòu)體。
類的靜態(tài)成員 類的數(shù)據(jù)成員和函數(shù)成員都可以被聲明為靜態(tài)的。
上一篇:異常處理下一篇:多態(tài)