const 변수들의 경우 생성자(constructor)에서 초기화 불가능 하므로
(생성시에 이미 const로 만들어져 수정이 불가하니까)
문법적 허용을 위한 우회책으로 initializer 가 존재해야만 한다.
class Something { private: int m_value1; double m_value2; char m_value3;
public: Something() : m_value1(1), m_value2(2.2), m_value3('c') // directly initialize our member variables { // No need for assignment here }
void print() { std::cout << "Something(" << m_value1 << ", " << m_value2 << ", " << m_value3 << ")\n"; } };
int main() { Something something; something.print(); return 0; } |
[링크 : http://www.learncpp.com/cpp-tutorial/8-5a-constructor-member-initializer-lists/]
[링크 : http://pacs.tistory.com/entry/C-클래스에서의-멤버-변수-멘버-함수의-상수화-const의-사용법]
[링크 : http://pacs.tistory.com/4] const란
+
처음에는 다중상속인줄... 망할 -_-
'Programming > C++ STL' 카테고리의 다른 글
cpp enum in class (0) | 2016.07.01 |
---|---|
cpp const (0) | 2016.06.22 |
std::endl (0) | 2015.06.24 |
c++ 현변환 연산자(cast operator in c++) (0) | 2015.01.26 |
functor / 펑터 (0) | 2014.04.16 |