June 6,2006
Don't call constructor in constructor
Code:
public ref class ABC{
public:
ABC(){
m_pTestString = "TEST";
ABC(10);
}
ABC(int i){
Console::WriteLine("i={0}, Object={1}", i, m_pTestString);
}
void Test(){
Console::WriteLine(m_pTestString);
}
private:
String ^m_pTestString;
};
int main(array<:string ^> ^args)
{
ABC ^t = gcnew ABC();
Console::ReadKey();
return 0;
}
Result:
i=10, Object=
*m_pTestString 在ABC(int i)中被重新初始化,所以印不出值
引用URL
http://cgi.blog.roodo.com/trackback/1719299