(C++) 8.4 생성자 멤버 초기화 목록

이준우·2021년 11월 23일
0

그리 어려운 개념은 아니다. 하지만, 이와 같이 사용하는 방법도 생각할 수 있다.

우리가 생성자를 초기화했을 때 {}내에서 초기화를 하는 경우가 있었는데, 이처럼 :을 사용하여 초기화를 하는 방법이 있다. 뭔가 리스트처럼 나열하면서 초기화는 방식이라서 생성자 멤버 초기화 목록이라고 불리는 것 같다.


자 이러한 코드가 있다고 가정하자. 왜 출력이 저렇게 나왔는지 생각해보자. private로 선언된 변수 값들은 public으로 초기화된 변수들이 없을 시에 작동한다. 따라서 public이 private보다 우선시되어 변수에 값이 초기화된다.

그러면 이제 public에서 초기화 목록과 그 {}안의 초기화 되는 순서를 봐야 하는데, 이는 초기화목록으로 우선 초기화 되고 나서 {}안의 초기화 값으로 다시 초기화 된다. 그렇기 때문에 이와 같이 나오는 것이다.
{}안에서 초기화를 하지않으면 초기화 목록에서 초기화한 값으로 값이 출력된다.

0개의 댓글