一、定義:
在類定義中定義的資料成員一般都是基本的資料型別。但是類中的成員也可以是物件,叫做物件成員。使用物件成員時需要注意的問題是建構函式的定義方式,及類內部物件的初始化問題。
含有物件成員的類,其建構函式和不含物件成員的建構函式有所不同,例如有以下的類:
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 建構函式和析構函式生成順序?當其他類的物件作為本類成員,先生成物件成員的類的建構函式,再生成本類的建構函式 析構函式生...