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)中被重新初始化,所以印不出值




Posted by toki_kanno at 樂多Roodo! │21:42 │回應(0)引用(0).Net Framework
樂多分類:日記/一般 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/1719299