在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

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

類和對(duì)象

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

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

C++ 類的定義

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

定義一個(gè)類,以關(guān)鍵字 class 開(kāi)始,緊隨其后的是類名,和類的主體,類的主體由一對(duì)大括號(hào)封閉。一個(gè)類定義必須以分號(hào)或者一系類聲明結(jié)尾。例如,我們通過(guò)使用關(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 決定了緊隨其后的類的成員的訪問(wèn)屬性。一個(gè)公共成員可以從類外處于任何一個(gè)類對(duì)象范圍內(nèi)的地方訪問(wèn)。類對(duì)象的范圍內(nèi)的任何地方。您還可以指定一個(gè)類的成員為 privatepublic,我們將在一個(gè)小節(jié)中討論它們。

定義 C++ 對(duì)象

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

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

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

訪問(wèn)數(shù)據(jù)成員

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

    #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

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

類與對(duì)象的細(xì)節(jié)

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

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