C 類與物件1

2021-09-29 19:30:46 字數 1348 閱讀 7226

我們都知道c語言是一門面向過程語言,而c++是一門物件導向的語言,那麼何為面向過程、物件導向呢?面向過程就是關注的是過程,分析求解問題的步驟,通過呼叫函式逐步解決問題,而物件導向關注的是物件,將一件事情拆分成不同的物件,靠物件之間的互動完成。

在c語言中我們用關鍵字struct來定義結構體,結構體只能定義變數,那我們要定義函式怎麼辦呢,在c++中結構體內不僅可以定義變數也可以定義函式,並且c++中更喜歡使用關鍵字class來代替。

怎麼定義乙個類呢?格式參照如下

class

classname

//類的名字

;

類中的元素叫做類的成員,類中的資料稱作類的屬性或者成員變數,類中的函式稱作類的方法或者成員函式,我更喜歡分別稱作成員變數和成員函式。

類的兩種定義方式:

1.宣告和定義全部放在類體中,需要注意的是成員函式如果在類中定義,編譯器可能會將其當成內聯函式處理。

class

person

public

:char

* _name;

char

* _***;

int _age;

};

2.宣告放在.h標頭檔案中,類的定義放在.cpp檔案中(推薦方式)

檔案

class

person

;#include

"person.h"

void person::

show()

先提出問題:c++中struct和class有什麼區別?

c++需要相容c語言,所以在c++中struct可以當成結構體用,同時也能定義類,和class定義類是一樣的,區別是struct中成員預設的訪問方式是public,而class中的成員預設訪問方式是private。

這裡引入了public和private,這就是類的訪問限定符,類的訪問限定符一共三種分別是:public(公開)、private(私有)和protected(保護)。

訪問限定符說明:

所以我們能想到c++實現封裝的方式是用類將物件的屬性與方法結合在一塊,讓物件更加完善,通過訪問許可權選擇性的將其介面提供給外部的使用者使用。

封裝實質上是一種管理,和博物館的管理是類似的,如果一堆文物就放在乙個地方供人隨便看,沒有管理可能一段時間後東西就都沒了,所以才會建造博物館將這些文物封裝起來,目的不是全部封裝起來不讓人看,所以開設了售票通道,讓大家在有人監管的情況下去參觀,並且也不是所有文物都能看,有些文物是不能看的也就是被徹底封裝起來了。這和類是一樣的,不想讓人看到的使用private/protected把成員封裝起來,開放一些公有的成員供訪問,所以說封裝的本質是一種管理。

C 初級 類與物件(1)

1.類的兩種定義方式 1 將宣告和定義全部放在類體中。注意 成員函式在類內定義,編譯器有可能將其當做內聯函式處理。class person 2 宣告放在.hpp檔案中,定義放在.cpp檔案中 hpp 宣告 public void display cpp 定義 void person display ...

類與物件(1)

類與物件 1 主函式 public class text 這裡定義乙個人的類 class person public void setage int age 建構函式做初始化 public person 當沒有建構函式時,計算機會預設乙個無引數建構函式 當程式設計師寫了乙個有引數的建構函式,系統就不...

類與物件1

開發工具與關鍵技術 vs2015與 c 類 class 是物件導向程式設計設計 oop 實現資訊封裝的基礎 類是使用者自定義型別,也稱類型別 每個類包含資料說明和一組運算元據或傳遞訊息的函式。類的例項稱為物件 結構體型別 結構體型別由數目固定的成員組成 各成員可以具有不同的資料型別 乙個結構變數在記...