Queue::Queue(int qs)
{
front = rear = NULL;
items = 0;
qsize = qs; //허용되지않는다. qsize가 const일때
}
생성자를 호출하면 중괄호 안의 코드가 실행되기 전에 객체가 먼저 생성된다. 그래서 qsize에 초기화가 아닌 대입이 되어서 허용되지 않는다.
Queue::Queue(int qs) : qsize(qs)
{
front = rear = NULL;
items = 0;
}
- 위의 멤버 초기자 리스트를 사용하면 초기화를 할 수 있다.
- : 초기화될 변수 이름(초기화할 변수 이름)으로 사용한다.
- 생성자에서만 쓸 수 있다.
- 참조로 선언된 클래스 멤버들에 대해서도 이 문법을 사용해야 된다.
- 클래스내에서 초기화를 해놓았다면 멤버 초기자 리스트가 적용이 된다. (멤버 변수가 1이였고 멤버 초기자 리스트가 3이였을 때 3이 초기화가 된다.)
'C++ > Basic' 카테고리의 다른 글
[C++] public 다형 상속 (0) | 2021.07.06 |
---|---|
[C++] 클래스의 상속 (0) | 2021.07.05 |
[C++] 대입 생성자 (0) | 2021.06.30 |
[C++] 복사 생성자 (0) | 2021.06.29 |
[C++] 클래스의 데이터형 변환 (0) | 2021.06.25 |