car類中,包含type物件,這個type物件該怎樣初始化?
試試在car的建構函式中初始化
#include #include using namespace std;
class type
~type()
type(int radius)
};class car
};int main()
初始化列表就是為了解決重複建立物件的問題
下面採用初始化列表的方式建立物件
car(int radius) : type(radius)
類名::建構函式(參數列):成員變數1(參數列), 成員變數2(參數列), ...
// type是成員變數,type(radius)相當於呼叫type(radius)
car::car(int radius) : type(radius)
// 基礎型別也可以採用這樣的方式
car::car(int radius, int price) : type(radius), price(price)
封閉類:包含成員物件的類
#include #include using namespace std;
class tyre
~tyre()
};class engine
~engine()
};class car
~car()
};int main()
參考:c++程式設計 3.3.2 成員物件和封閉類的概念 c 初始化列表
與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。struct foo 初始化列表 建構函式的兩個執行階段 從概念上來講,建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段 初始化階段 所有...
C 初始化列表
與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。在c 中,struct和class的唯一區別是預設的克訪問性不同,而這裡我們不考慮訪問性的問題,所以下面的 都以struct來演示。struct foo 初始化列表 ...
C 初始化列表
與其他函式不同,建構函式除了有名字,引數列表和函式體之外,還可以有初始化列表,初始化列表以冒號開頭,後跟一系列以逗號分隔的初始化字段。struct foo 初始化列表 建構函式的執行可以分成兩個階段,初始化階段和計算階段,初始化階段先於計算階段。所有類型別 class type 的成員都會在初始化階...