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)
1F:推 Song6Lin:可以合并成一个MyClass(int x = 0, int y = 0) { ... }; 01/30 12:06
2F:推 yoco315:MyClass::MyClass : x(0), y(0) <- "初始化串列" 01/30 12:16
3F:→ firose:C++ 建构子不能 chaining 要额外建一个 init 的函式 01/30 12:41
4F:推 montreal:2F 方法提供较佳的效率 02/02 21:02
5F:推 cackle:楼上,就这个例子而言,x跟y都是built-in type,无论是 02/02 22:59
6F:→ cackle:initialization list或是assignment,他们的"效率"是一样的 02/02 23:00