티스토리 뷰
멤버이니셜라이저는 클래스에서 변수를 초기화 하기위한 방법이다.
#include "childtest.h" childtest::childtest(int a, int b) : m_a(a), m_b(b) { cout<<"childtest생성"<<endl; } childtest::~childtest(void) { cout<<"childtest소멸"<<endl; } void childtest::showmember(){ cout<<m_a<<", "<<m_b<<endl; }
다음과 같이 초기화시킬 수 있다. 객체를 생성할 때, 메모리 공간이 할당되면 바로 생성자몸체가 아닌, 이니셜라이저를 통해 멤버가 초기화되고, 몸체가 실행된다.
단순, 몸체에서 실행하는 것과는 다른 차이가 있다. 우선은 성능적으로 멤버 이니셜라이저가 더 좋다고한다. 또한, const변수도 초기화할 수 있다. 몸체에 넣게되면 const의 경우 바로 초기화되지 않아 오류를 발생하지만, 멤버이니셜라이저는 const도 초기화할 수 있다.
'Language > C++' 카테고리의 다른 글
[C++] 예외처리 (0) | 2013.10.06 |
---|---|
[C++] 함수템플릿과 템플릿함수 (0) | 2013.10.06 |
[C++] 생성자와 소멸자 (0) | 2013.10.05 |
[C++] namespace (0) | 2013.10.05 |
[C++] 매개변수의 디폴트 값 (0) | 2013.10.05 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday