본문 바로가기
개발/C++

[C++] 초기화 리스트? 생성자와 멤버 초기화리스트를 만들어보고 사용해보기~!!

by jinhyuk._.c 2022. 11. 29.

 

초기화 리스트란?

생성자를 생성하면서 멤버변수에 값을 할당을 할 수 있었는데 이 과정은 '할당' 이고 값을 '초기화' 하는 것은 아닙니다.

클래스의 멤버에 값을 초기화 할수 있는 방법이 있는데 그 방법이 바로 '초기화 리스트' 입니다.

 


초기화 리스트의 기능

  • 클래스의 멤버에 값을 초기화 할 수 있습니다.
  • 생성자가 길어지는 것을 줄일 수 있습니다.
  • const로 만들어진 멤버를 초기화 할 수 있습니다.

 


초기화 리스트를 사용하는 이유

- const(상수) 나  reference(참조)는 중간에 변경이 안되기 때문에, 멤버가 상수나 참조자인 경우에는 초기화 리스트 사용해야합니다.

 


초기화 리스트 사용법

 

  1. 생성자 괄호 ' ( ) '  뒤에 콜론 ' : ' 으로 표기합니다.
  2. 초기화 할 멤버 변수들을 쉼표로 구분하여 표기합니다
  3. 이때 소괄호() 를 이용해서 멤버 변수를 초기화 합니다.

 


형식

생성자이름() : 멤버변수1(초기화할 값), 멤버변수2(초기화할 값)...

 


초기화 리스트 사용방법

생성자 뒤에 초기화 리스트 형식을 토대로 만들어진 private 멤버변수 name과 age를 초기화합니다.

#include<iostream>
#include<string>
using namespace std;

class Test {
private:
    string name;
    int age;
  
public:
    Test() : name("홍길동"), age(20)
    {
        cout << "이름 = " << name << "\n" << "나이 = " << age << endl;
    }


};

int main()
{
    Test test = Test();

    return 0;

}

 

실행 결과

private 멤버변수가 생성자를 만들때 초기화 되었습니다.

 

실행 결과2

const 로 만들어서 상수로 만들어도 초기화 리스트를 사용할 수 있습니다.


 

오늘의 포스팅 정리

 

오늘은 생성자와 같이 사용되는 '초기화 리스트'가 무엇인지와 사용법에 대해서 알아보았습니다.

위의 초기화 리스트들의 사용법은 여러가지 방법이 있습니다.

 

오늘은 '초기화리스트'에 대해 이해를 돕기위해 간단하게 알아보았습니다.

 

다음 포스팅에서는 소멸자에 대해 알아보겠습니다.

반응형

댓글