C 中的類和物件的特性

2022-05-23 08:39:08 字數 2392 閱讀 9746

c++的靈魂就在於他的「類和物件」,在經過一段時間的學習,我簡單總結一下我對於c++中的類和物件的一些總結。

1、類和物件是什麼?

什麼是『類』和『物件』?c++中的物件的型別稱為類(class),類是物件的抽象,物件式類的具體例項。下面以一段**為例。

1

class

time2;

6 7 time time1,time2;

上面便是乙個簡單的類,其中「類名」為time,它的物件有兩個「time1」以及「time2」。這樣和c語言中的結構體十分相似,「類與物件」的關係也和「結構體型別與結構體變數」是一樣的。

總結下來類和物件的關係就是——類是物件的模板,是定義物件的一種抽象型別

2、類和物件的作用

一、便於合作,避免出現由於多人合作而產生的定義上的問題,可以避免誤呼叫;

二、這樣模組化的設計,可以降低程式設計難度,使得思路清晰,到時候組裝起來即可;

三、類的可繼承性,這樣是可以減少許多任務作量。關於類的繼承性我們這裡暫且不提。

1、類的公有和私有

c語言是面向過程的程式設計,這樣就出現了乙個問題,那就是「資料缺乏保護」。面向過程設計中的資料是公用的、共享的,可以被不同的函式所呼叫,故而這些資料是缺乏保護的,而資料的交叉使用極為容易導致錯誤的產生。而c++中「類」,則是具有劃分公有部分和私有部分的功能,函式的呼叫只能呼叫公有部分,而私有部分「只供類內部使用」。c++私有部分宣告函式為「private」,公有部分宣告為「public」。

1

class

time

212 };

以上述**為例,其中的hour、minter、sec這三個為私有部分,只能在類的內部呼叫,在類外無法引用;而函式display則是公有部分,可以在類外引用。

2、類與結構體的異同

再次說明一下,c++是c語言的超集,c語言中功能在c++中基本是可以使用的,結構體在c++中不但可以使用,並且c++還將其的功能給予了擴充套件,甚至於在c++中允許使用struct來宣告乙個類。也就是說,將class改為struct後,類其實仍然可以使用。

而struct建立的類,與class建立的類,二者的區別在於——在沒有設立private(私有部分)以及public(公有部分)時,struct所建立的類系統會將其成員預設為public;而class所建立的類,系統會將其成員預設為private。

3、物件成員的引用

所謂的物件成員,便是物件所屬類中的成員。其訪問方式有三種:1、通過物件名和成員運算子訪問;2、通過指標訪問;3、通過物件的引用進行訪問。

(一)通過物件名和成員運算子訪問

這種訪問方式的一般情況為「物件名.成員名」,

class

time

};int

main()

(二)通過指標訪問

class

time

;time t, *p;    //定義物件t和指標變數p

p = &t;      //使p指向物件t

cout

<< p->hour;  //輸出p指向的物件中的成員hour

(三)通過物件的引用進行訪問

定義乙個物件的引用來對此物件進行訪問,這個方法說的簡單點就是給這個物件取乙個新名字,本質不變,物件與物件的引用會占用同乙個儲存單元。

例如:

time t1;            //定義time類物件t1;

time &t2 =t1;        //定義time類引用t2,並使之初始化,初始化的值與t1相同;

cout

<< t2.hour;        //輸出物件t1中的成員hour

而此時的t2.hour其實也就是t1.hour

上面簡單的說過了物件的成員,而物件的成員函式其實也就是在類中的函式。其用法與c語言中的外部呼叫基本上是一樣的。而成員函式非常重要的一點就是他是可以直接呼叫類中的函式的私有部分以及公有部分。

類的成員函式,一般有兩種引用方法:1、內建成員函式;2、類外定義成員函式;

但是實際上二者並沒有什麼不同。

class

time

};

這便是內建成員函式,函式display()在time類的內部。

class

time

;void

time::display()

這便是類外定義成員函式,用了time::display則是說明這個display是time類中的函式;如果沒有"time::",則說明引用的display()是乙個全域性變數display()而非time類中的display().

ps:新手上路,若有什麼不對、不足之處,還望各位給予指正,非常感謝。

C 類和物件特性

類是使用者自定義的型別,表明某一類物件的共性和特徵。類是一種抽象型別,物件是具體的。類的定義 class 類名 類成員的訪問屬性 public protected private 預設為private 其中,公共資料成員 public 在類的外部可直接訪問。物件的宣告和訪問 class bird v...

類和物件的特性

1 在物件導向的程式中,除主函式外,其他函式基本上都是出現在類中,只有通過類才能呼叫類中的函式。2 物件導向的4個主要特點 抽象 封裝 繼承 多型。3 基於物件設計和物件導向程式設計統稱物件導向程式設計.4 物件是構成系統的基本單位。乙個物件有兩個特徵 一是靜態特徵,比如班級的學生人數 所在教室以及...

C 中的類和物件

c 既是物件導向也是面向過程的語言。在這裡有乙個重要的概念 類。何謂類?類是對物件的一種抽象,舉例來講 每乙個實實在在存在的人就是乙個物件,人有很多共同的特徵 乙個頭,兩條腿,能走,能跑 這具有共同特徵的人就成為乙個類。類是乙個抽象的名詞,每乙個人 即物件 是這個類的例項。物件間具有的共同特徵是物件...