c 之類與物件

2021-09-25 20:23:18 字數 1885 閱讀 8398

類就是一類具有共同特徵的群體

物件是這類群體的某乙個具體的個體

上面的描述很迷,接下來我們通過乙個遊戲的例子來解釋一下什麼是類,什麼是物件。

你現在玩王者榮耀轉殖模式,假設十個亞瑟在對線,亞瑟這個英雄就可以說是乙個類,而你操作的那個亞瑟是獨一無二的,是乙個具體的物件。

每乙個類都有他的屬性和方法,我們可以看看亞瑟的屬性和方法

亞瑟:屬性:

方法: //方法就是能做什麼,在遊戲裡面就是技能

這就是類

而你玩的那個亞瑟,,是乙個物件,相當於把亞瑟這個類例項化成乙個有你遊戲名的乙個具體的個體

說完了王者榮耀的亞瑟

我們來看看如果在c++中寫乙個亞瑟類,如何在c++中例項化乙個亞瑟的物件

c++中用class定義乙個類

class yase

; void f2();

void f3();

};

tips:屬性又稱為資料成員,方法又稱為成員函式

c++中例項化乙個物件有兩種方法

1、從棧中例項化

yase cheng;//cheng是我的遊戲名稱,在這裡我把他當作乙個變數儲存例項化的物件

yase heros[10];//例項化乙個物件陣列,就是乙個陣列裡面有10個例項化的亞瑟物件

2、從堆中例項化

//new 關鍵字來建立乙個物件

yase *p = new yase();//p是乙個指標,指向一塊記憶體,這塊記憶體儲存我建立的物件

yase *q = new yase[10];//申請乙個物件陣列

delete p;//從堆中例項化不會自動釋放申請的記憶體,要自己手動釋放

//delete q;//物件陣列要加中括號釋放記憶體

例項化物件之後我們要進行操作

1、通過棧例項化物件的訪問

先例項化乙個亞瑟

yase cheng;

cheng.hp = 300;

cheng.f1();

通過.來訪問物件的屬性和呼叫物件的方法

2、通過堆例項化物件的訪問

同樣先例項化乙個亞瑟

yase *p = new yase();

p->hp = 300;

p->f1();

delete p;

p = null;

通過->訪問物件的屬性和呼叫物件的方法

c++的訪問限定符—public、private、protected

public:公共的,外界可呼叫

private:私有的,外界不可呼叫,不可訪問

所謂物件導向的思想就是以物件做什麼表達程式的邏輯,反應在**上就是物件呼叫函式去做一些事,物件所有行為都要通過呼叫函式完成,物件的屬性(資料成員)

要用函式進行封裝,不能直接訪問。

class yase

;//1技能

void f2();//2技能

void f3(); //3技能

int gethp()

void sethp(int _hp)//這裡只舉hp的例子

private:

int hp;//生命

int wg;//物攻

int fq;//法強

int wk;//物抗

int fk;//法抗

int mj;//敏捷

};

物件導向的好處,可以對傳入物件的引數進行限制,而且可以保證某些屬性不給寫只能讀,就是只能get不能set

例如在sethp(_hp)裡可以進行這樣的修改

void sethp(int _hp)

C 之類與物件

都說c 是乙個完全物件導向的語言,我 那天很自豪的也和我說了,好像這個語言很令人振奮。以前學習vb的時候總是感覺很吃力,因為自己對 基本根本沒有親和力,在以前如果給自己一大批 讓自己按著敲,那麼這個對於當時的我來說肯定是世界上最幸福的事情了。很喜歡安靜的敲 的感覺 現在越來越能體會到,是被人賦予靈魂...

C 之類與物件

類的定義語法 私有成員 公有成員 保護成員 物件 由類定義的例項,通過物件可以訪問類的公有成員,私有成員只能通過類內成員 友元函式 友元類訪問 建構函式 預設建構函式 一般建構函式 拷貝建構函式 採用引數常引用 類的組合 類的組合是 is a kind of 的關係,要特別注意類的組合函式的建構函式...

C 之類與物件

定義乙個類,本質上是定義乙個資料型別的藍圖。這實際上並沒有定義任何資料,但它定義了類的名稱意味著什麼,也就是說,它定義了類的物件包括了什麼,以及可以在這個物件上執行哪些操作。類定義是以關鍵字 class 開頭,後跟類的名稱。類的主體是包含在一對花括號中。類定義後必須跟著乙個分號或乙個宣告列表。例如,...