當乙個類中包含其他類的物件時建構函式的呼叫順序

2021-07-29 01:36:18 字數 825 閱讀 3469

1.按在組合類的定義中出現的順序呼叫內嵌物件的建構函式(與初始化列表中出現的順序無關)

2.呼叫本類建構函式的函式體

組合類建構函式定義的一般形式一般為:

類名::類名(形參表):內嵌物件1(形參表),內嵌物件2(形參表),……

#include 

#include

using

namespace

std;

class point

int gety()

private:

int x,y;

};point::point(point &p)

private:

point p1,p2;

double len;

};line::line(point xp1,point xp2):p1(xp1),p2(xp2)

line::line(line &l):p1(l.p1),p2(l.p2)

結果如下:

create point

create point

copy point

copy point

copy point

copy point

create line

copy point

copy point

copy line

length of lin:5

length of lin2:5

可以看到在創造line的物件前,先呼叫了point類的複製建構函式建立了兩個point類的物件.之後才開始呼叫自己的建構函式.

python 之 類(乙個類包含乙個類)

1.知識點 1 乙個類可以作為另乙個類的元素。2 當乙個類的屬性為列表新增另乙個類名時,會預設新增另乙個類的 str self 的返回值 箱子 class box 屬性 def init self,b color,b volumn self.color b color self.volumn b v...

c 類中包含自身類物件的set

c 中,類中自身類物件不能做自己的類成員,但可以做靜態資料成員,引用資料成員,以及vector,set中的型別成員。如下面 中定義的類。include includeusing namespace std class a a int aa,int bb,int cc a int aa,int bb,...

include once 重複包含乙個類的特殊情況

在寫乙個指令碼的時候發現有兩個不同的模組 ceshi test 都引用了 http類。在指令碼 main.php 會引用 這兩個模組,有時候會同時使用,有時候只用某乙個。同時使用時,指令碼會意外停止。經測試發現問題如下 include once http.class.php 相同路徑的話 沒問題 h...