E作者neigence ()
站內C_and_CPP
標題[問題] 建構子的問題
時間Fri Jan 30 11:50:19 2009
class MyClass{
public:
MyClass();
MyClass(int x,int y);
protected:
int x;
int y;
bool isLeaf;
}
MyClass::MyClass(){
MyClass(0,0); <----這樣好像是錯的,請問要怎麼做呢?
} compile雖然會過,但member未初始化
MyClass::MyClass(int x,int y){
this->x=x;
this->y=y;
this->isLeaf=false;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.71.75
※ 編輯: neigence 來自: 59.116.71.75 (01/30 12:05)
推 Song6Lin:可以合併成一個MyClass(int x = 0, int y = 0) { ... }; 01/30 12:06
推 yoco315:MyClass::MyClass : x(0), y(0) <- "初始化串列" 01/30 12:16
→ firose:C++ 建構子不能 chaining 要額外建一個 init 的函式 01/30 12:41
推 montreal:2F 方法提供較佳的效率 02/02 21:02
推 cackle:樓上,就這個例子而言,x跟y都是built-in type,無論是 02/02 22:59
→ cackle:initialization list或是assignment,他們的"效率"是一樣的 02/02 23:00