C++/따배C++ 08강 객체지향 기초
[C++/8.4] 생성자 멤버 초기화
polarcompass
2021. 10. 21. 02:17
728x90
#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 = 100;
double m_d = 100.0;
char m_c = 'F';
int m_arr[5] = {100, 200, 300, 400, 500};
B m_b{ 1024 };
// 여기서 초기화를 하더라도 생성자가 우선이라 생성자에서 대입한 값으로 출력됨.
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 *= 3;
m_d *= 3.0;
m_c += 3;
}
void print()
{
cout << m_i << " " << m_d << " " << m_c << endl;
for( auto& e: m_arr)
cout << e << " ";
cout << endl;
}
};
int main(int argc, char const *argv[])
{
Something som;
som.print();
return 0;
}728x90