8.4 생성자의 멤버 초기화 리스트
#include <iostream>
using namespace std;
class B
{
private:
int m_b;
public:
B(const int& m_b_in)
: m_b(m_b_in)
}
class Something
{
private:
int m_i;
double m_d;
char m_c;
int m_arr[5];
B m_b; // 다른 클래스의 변수
public:
Something()
: m_i{1}, m_d{3.14}, m_c{'a'}, m_arr{1,2,3,4,5}, m_b(m_i - 1)
{
//m_i = 1;
//m_d = 3.14;
//m_c = 'a';
}
void print()
{
cout << m_i << " " << m_d << " " << m_c << "\n";
for (auto &e : m_arr)
cout << e << " ";
}
};
int main()
{
Something som;
som.print();
}
private에서 초기화를 할 수도 있고, public에서 초기화를 할 수도 있는데, 생성자가 우선이다! (변수가 non static일 경우)
멤버 초기화 리스트 -> 생성자 안의 내용 순으로 초기화 진행