목록생성자 (3)
일상 코딩
#include #include #include using namespace std; class IntArray { private: unsigned m_length = 0; int *m_data = nullptr; // 동적할당 public: IntArray(unsigned length) : m_length(length) { m_data = new int[length]; } // initialize_list 생성자. IntArray(const std::initializer_list &list) : IntArray(list.size()) { int count = 0; for(auto & element : list) { m_data[count] = element; ++count; } // for (unsig..
#include 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(..