網(wǎng)站建設(shè)貳金手指科杰2如何做電商賺錢
目錄
一、C++類定義
二、定義C++對象
三、訪問數(shù)據(jù)成員
四、類和對象詳解
C++ 在 C 語言的基礎(chǔ)上增加了面向?qū)ο缶幊?#xff0c;C++ 支持面向?qū)ο蟪绦蛟O(shè)計。類是 C++ 的核心特性,通常被稱為用戶定義的類型。
類用于指定對象的形式,它包含了數(shù)據(jù)表示法和用于處理數(shù)據(jù)的方法。類中的數(shù)據(jù)和方法稱為類的成員。函數(shù)在一個類中被稱為類的成員。
一、C++類定義
定義一個類,本質(zhì)上是定義一個數(shù)據(jù)類型的藍圖。這實際上并沒有定義任何數(shù)據(jù),但它定義了類的名稱意味著什么,也就是說,它定義了類的對象包括了什么,以及可以在這個對象上執(zhí)行哪些操作。
類定義是以關(guān)鍵字 class 開頭,后跟類的名稱。類的主體是包含在一對花括號中。類定義后必須跟著一個分號或一個聲明列表。例如,我們使用關(guān)鍵字 class 定義 Box 數(shù)據(jù)類型,如下所示:
class Box
{
? ?public:
? ? ? double length; ? // 盒子的長度
? ? ? double breadth; ?// 盒子的寬度
? ? ? double height; ? // 盒子的高度
};
?關(guān)鍵字 public 確定了類成員的訪問屬性。在類對象作用域內(nèi),公共成員在類的外部是可訪問的也可以指定類的成員為 private 或 protected。
二、定義C++對象
類提供了對象的藍圖,所以基本上,對象是根據(jù)類來創(chuàng)建的。聲明類的對象,就像聲明基本類型的變量一樣。下面的語句聲明了類 Box 的兩個對象:
Box Box1; ? ? ? ? ?// 聲明 Box1,類型為 Box
Box Box2; ? ? ? ? ?// 聲明 Box2,類型為 Box
對象 Box1 和 Box2 都有它們各自的數(shù)據(jù)成員。
三、訪問數(shù)據(jù)成員
類的對象的公共數(shù)據(jù)成員可以使用直接成員訪問運算符 . 來訪問。
#include <iostream>using namespace std;class Box
{public:double length; // 長度double breadth; // 寬度double height; // 高度// 成員函數(shù)聲明double get(void);void set( double len, double bre, double hei );
};
// 成員函數(shù)定義
double Box::get(void)
{return length * breadth * height;
}void Box::set( double len, double bre, double hei)
{length = len;breadth = bre;height = hei;
}
int main( )
{Box Box1; // 聲明 Box1,類型為 BoxBox Box2; // 聲明 Box2,類型為 BoxBox Box3; // 聲明 Box3,類型為 Boxdouble volume = 0.0; // 用于存儲體積// box 1 詳述Box1.height = 5.0; Box1.length = 6.0; Box1.breadth = 7.0;// box 2 詳述Box2.height = 10.0;Box2.length = 12.0;Box2.breadth = 13.0;// box 1 的體積volume = Box1.height * Box1.length * Box1.breadth;cout << "Box1 的體積:" << volume <<endl;// box 2 的體積volume = Box2.height * Box2.length * Box2.breadth;cout << "Box2 的體積:" << volume <<endl;// box 3 詳述Box3.set(16.0, 8.0, 12.0); volume = Box3.get(); cout << "Box3 的體積:" << volume <<endl;return 0;
}
當運行以上代碼,會產(chǎn)生以下的結(jié)果:
Box1 的體積:210
Box2 的體積:1560
Box3 的體積:1536
需要注意的是,私有的成員和受保護的成員不能使用直接成員訪問運算符 (.) 來直接訪問。
四、類和對象詳解
概念 | 函數(shù) |
類成員函數(shù) | 類的成員函數(shù)是指那些把定義和原型寫在類定義內(nèi)部的函數(shù),就像類定義中的其他變量一樣。 |
類訪問修飾符 | 類成員可以被定義為 public、private 或 protected。默認情況下是定義為 private。 |
構(gòu)造函數(shù) & 析構(gòu)函數(shù)?? ? | 類的構(gòu)造函數(shù)是一種特殊的函數(shù),在創(chuàng)建一個新的對象時調(diào)用。類的析構(gòu)函數(shù)也是一種特殊的函數(shù),在刪除所創(chuàng)建的對象時調(diào)用。 |
C++ 拷貝構(gòu)造函數(shù) | 拷貝構(gòu)造函數(shù),是一種特殊的構(gòu)造函數(shù),它在創(chuàng)建對象時,是使用同一類中之前創(chuàng)建的對象來初始化新創(chuàng)建的對象。 |
C++ 友元函數(shù) | 友元函數(shù)可以訪問類的 private 和 protected 成員。 |
C++ 內(nèi)聯(lián)函數(shù) | 通過內(nèi)聯(lián)函數(shù),編譯器試圖在調(diào)用函數(shù)的地方擴展函數(shù)體中的代碼。 |
C++ 中的 this 指針 | 每個對象都有一個特殊的指針 this,它指向?qū)ο蟊旧怼?/td> |
C++ 中指向類的指針 | 指向類的指針方式如同指向結(jié)構(gòu)的指針。實際上,類可以看成是一個帶有函數(shù)的結(jié)構(gòu)。 |
C++ 類的靜態(tài)成員 | 類的數(shù)據(jù)成員和函數(shù)成員都可以被聲明為靜態(tài)的。 |