C 筆記(十七) 類物件作為成員

2021-09-03 07:35:05 字數 1247 閱讀 3800

一、定義:

類定義中定義的資料成員一般都是基本的資料型別。但是類中的成員也可以是物件,叫做物件成員。使用物件成員時需要注意的問題是建構函式的定義方式,及類內部物件的初始化問題。

含有物件成員的類,其建構函式和不含物件成員的建構函式有所不同,例如有以下的類:

class cxaa

;

一般來說類cxaa的建構函式的定義形式為:

cxaa(參數列0):成員名1(參數列1),成員名2(參數列2),...,成員名n(參數列n)

;

注:

#include #include using namespace std;

class cclass_obj //設定姓名

~cclass_obj()

void print() };

class csubject //設定科目

~csubject()

void print() };

class cgirl //設定分數

void print()

~cgirl() };

int main()

getchar();

return 0;

}

結果:

具體原理如下圖:

說明;

cgirl(char *st1, char *st2, int gra):m_name(st1),m_sub(st2)
於是在呼叫cgirl的建構函式進行初始化時,也給物件成員m_name賦初值。

cgirl(char *st1, char *st2, int gra):cclass_obj(st1),csubject(st2)
是錯誤的,因為在類cgirl中是類cclass_obj的物件m_name作為成員,而不是類cclass_obj作為其成員。

類物件作為類成員筆記

c 類中的成員可以是另乙個類的物件,我們稱該成員為物件成員 例如 class aclass bb中有物件a作為成員,a為物件成員 include using namespace std include 類物件作為類成員 手機類 class phone string m pname 人類 class ...

C 類物件作為類成員

c 類中的成員可以是另乙個類中的物件,我們稱該成員為物件成員 例如 classa class b b類中有物件a作為成員,a為物件成員 那麼當建立b物件時,a與b的構造和析構的順序誰先誰後?舉例 class phone 手機品牌名稱 string m pname class person 姓名 st...

類物件作為類成員

1 含義 在c語言中,乙個結構體可以包含另外乙個結構體。在c 中乙個類的成員,也可以是另乙個類的物件。例如 b類中有物件a作為成員,稱a為物件成員。classa class b 2 建構函式和析構函式生成順序?當其他類的物件作為本類成員,先生成物件成員的類的建構函式,再生成本類的建構函式 析構函式生...