把類成員改成指標 C 類 物件

2021-10-14 07:25:37 字數 2378 閱讀 7064

c++ 在 c 語言的基礎上增加了物件導向程式設計,c++ 支援物件導向程式設計。類是 c++ 的核心特性,通常被稱為使用者定義的型別。

類用於指定物件的形式,它包含了資料表示法和用於處理資料的方法。類中的資料和方法稱為類的成員。函式在乙個類被稱為類的成員。

定義乙個類,本質上是定義乙個資料型別的藍圖。這實際上並沒有定義任何資料,但它定義了類的名稱意味著什麼,也就是說,它定義了類的物件包括了什麼,以及可以在這個物件上執行哪些操作。

類定義是以關鍵字class開頭,後跟類的名稱。類的主體是包含在一對花括號中。類定義後必須跟著乙個分號或乙個宣告列表。例如,我們使用關鍵字class定義 box 資料型別,如下所示:

class box

;

關鍵字public確定了類成員的訪問屬性。在類物件作用域內,公共成員在類的外部是可訪問的。您也可以指定類的成員為privateprotected,這個我們稍後會進行講解。

類提供了物件的藍圖,所以基本上,物件是根據類來建立的。宣告類的物件,就像宣告基本型別的變數一樣。下面的語句宣告了類 box 的兩個物件:

box box1;          // 宣告 box1,型別為 box

box box2; // 宣告 box2,型別為 box

物件 box1 和 box2 都有它們各自的資料成員。

類的物件的公共資料成員可以使用直接成員訪問運算子 (.) 來訪問。為了更好地理解這些概念,讓我們嘗試一下下面的例項:

#include 

using namespace std;

class box

;int main( ){

box box1; // 宣告 box1,型別為 box

box box2; // 宣告 box2,型別為 box

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

當上面的**被編譯和執行時,它會產生下列結果:

box1 的體積:210

box2 的體積:1560

需要注意的是,私有的成員和受保護的成員不能使用直接成員訪問運算子 (.) 來直接訪問。我們將在後續的教程中學習如何訪問私有成員和受保護的成員。

概念描述

類成員函式            

類的成員函式是指那些把定義和原型寫在類定義內部的函式,就像類定義中的其他變數一樣。

類訪問修飾符            

類成員可以被定義為 public、private 或 protected。預設情況下是定義為 private。

建構函式 & 析構函式            

類的建構函式是一種特殊的函式,在建立乙個新的物件時呼叫。類的析構函式也是一種特殊的函式,在刪除所建立的物件時呼叫。

c++ 拷貝建構函式            

拷貝建構函式,是一種特殊的建構函式,它在建立物件時,是使用同一類中之前建立的物件來初始化新建立的物件。

c++ 友元函式            

友元函式可以訪問類的 private 和 protected 成員。

c++ 內聯函式            

通過內聯函式,編譯器試圖在呼叫函式的地方擴充套件函式體中的**。

c++ 中的 this 指標            

每個物件都有乙個特殊的指標this,它指向物件本身。

c++ 中指向類的指標            

指向類的指標方式如同指向結構的指標。實際上,類可以看成是乙個帶有函式的結構。

c++ 類的靜態成員            

類的資料成員和函式成員都可以被宣告為靜態的。

把類成員改成指標 C 帶有指標成員的類處理方式

在乙個類中,如果類沒有指標成員,一切方便,因為預設合成的析構函式會自動處理所有的記憶體。但是如果乙個類帶了指標成員,那麼需要我們自己來寫乙個析構函式來管理記憶體。在 中寫到,如果乙個類需要我們自己寫析構函式,那麼這個類,也會需要我們自己寫拷貝建構函式和拷貝賦值函式。析構函式 我們這裡定義乙個類has...

C 類成員指標

類成員指標 1.成員指標式可以指向類的非靜態成員的指標。類的靜態成員不屬於任何物件,因此無需特殊的指向靜態成員的指標。指向靜態成員的指標的普通指標沒有任何區別。2.當初始化乙個類成員指標時,我們令其指向類的成員,但不指定代成員所屬的物件,直到使用到成員指標時,才提供所屬的物件。3.資料成員指標 例 ...

C 類成員指標

首先讓我們看一下,乙個簡單的成員變數指標 和 成員函式指標的使用例子。struct a int a pi a i void a pfoo a foo a a a.pi 1 等同於 a.i 1 a.pfoo 等價於 a.foo 在vc 下,輸出 a i 和 a foo 的值,你會發現他們的值都為1 在...