c++類中的成員可以是另乙個類中的物件,我們稱該成員為物件成員
例如:
classa;
class
b;
b類中有物件a作為成員,a為物件成員
那麼當建立b物件時,a與b的構造和析構的順序誰先誰後?
舉例:
class
phone
//手機品牌名稱
string m_pname;};
class
person
//姓名
string m_name;
//手機
phone m_phone;};
void
test01()
那麼,先有的人還是先有的手機呢?
列印輸出一下:
phone
(string pname)
person
(string name, string pname)
:m_name
(name)
,m_phone
(pname)
//相當於phone m_phone = pname,即隱式轉換法
再次執行結果:
可以看到,先建立的手機,再建立的人。
即:當其他類的物件作為本類的成員,在構造時先構造其他類物件,再構造本類物件。
同理,析構順序:(可以看出與構造順序相反)
類物件作為類成員
1 含義 在c語言中,乙個結構體可以包含另外乙個結構體。在c 中乙個類的成員,也可以是另乙個類的物件。例如 b類中有物件a作為成員,稱a為物件成員。classa class b 2 建構函式和析構函式生成順序?當其他類的物件作為本類成員,先生成物件成員的類的建構函式,再生成本類的建構函式 析構函式生...
類物件作為類成員筆記
c 類中的成員可以是另乙個類的物件,我們稱該成員為物件成員 例如 class aclass bb中有物件a作為成員,a為物件成員 include using namespace std include 類物件作為類成員 手機類 class phone string m pname 人類 class ...
C 核心9 類物件作為類成員
乙個不是很難但是挺重要的概念 物件成員。例如 class aclass b看上邊的例子,b類中有物件a作為成員,a為物件成員。舉乙個 例子 include include using namespace std class phone 宣告乙個類 phone string m phonename c...