|
웅 간만에 왔습니다.
웅 난호님의 답이 맞습니다.
클래스명이 바로 생성자이므로 그 생성자의 멤버들은 생성자에서 초기화 합니다.
따라서,
CTest::CTest()
{
for ( int i = 0 ; i < 2; i++) m_Test[i] = 0 ; // 배열이 크다면 관계없겠죵
}
대입이라는 개념..
실제로.. 인스턴스에서는 대입이 아니니까요..!!
그렇게 생각하시는 것이 좋을 듯 합니다.
이난호 님이 쓰신 글 :
: 이리저리 검색 해봤지만, 해당 질문이 없어서 질문 드립니다.
:
: 클래스에 배열로 멤버 변수를 선언 했을때,
: 그 멤버 변수의 초기화는 어떻게 하나요?
:
: class CTest
: {
: /// blah. blah.....
:
: private:
: int m_Test[2];
: };
:
: CTest::CTest()
: : m_Test()
: {
: }
: 이렇게 했더니 안되더군요.
:
: CTest::CTest()
: : m_Test[0](0)
: {
: }
: 이것도 되지 않습니다.
:
: CTest::CTest()
: {
: m_Test[0] = m_Test[1] = 0;
: }
: 이건 초기화가 아니라 그냥 대입이기에 찜찜 합니다.
:
:
:
: 어떻게 하는 건가요??
|