티스토리 뷰
생성자의 Member Initializer List
#include<iostream>
using namespace std;
class Something
{
private:
int m_i;
double m_d;
char m_c;
public:
Something()
: m_i(1), m_d(3.14), m_c('a')
{
// m_i = 1;
// m_d = 3.14;
// m_c = 'a';
}
void print()
{
cout << m_i << " " << m_d << " " << m_c << endl;
}
};
int main()
{
Something s;
s.print();
return 0;
}
// 1 3.14 a
class Something
{
private:
int m_i;
double m_d;
char m_c;
int m_arr[5];
public:
Something()
: m_i{1}, m_d{3.14}, m_c{'a'}, m_arr{1, 2, 3, 4, 5}
{
// m_i = 1;
// m_d = 3.14;
// m_c = 'a';
}
void print()
{
cout << m_i << " " << m_d << " " << m_c << endl;
for(auto& e : m_arr)
cout << e << " ";
cout << endl;
}
};
// 1 3.14 a
// 1 2 3 4 5
#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{2};
double m_d{5.24};
char m_c = 'F';
int m_arr[5];
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 = 1;
// m_d = 3.14;
// m_c = 'a';
}
void print()
{
cout << m_i << " " << m_d << " " << m_c << " "<< endl;
for(auto& e : m_arr)
cout << e << " ";
cout << endl;
}
};
int main()
{
Something s;
s.print();
return 0;
}
이럴 경우 생성자의 우선순위가 먼저다.
'언어 > C++' 카테고리의 다른 글
8.9 클래스와 const (0) | 2020.04.23 |
---|---|
8.5 위임 생성자 (0) | 2020.04.22 |
8.3 생성자 Constructors (0) | 2020.04.22 |
8.2 캡슐화, 접근 지정자, 접근 함수 (0) | 2020.04.22 |
[C++] std::array (0) | 2020.03.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래밍
- 강의
- 시간복잡도
- 비트필드
- 형승격
- 공부
- Algorithm
- 직접 지정
- 종류
- 배열
- call by reference
- 구조체
- 다차원 배열
- 2차원 배열
- C
- 공용체
- call by value
- 1차원 배열
- codeit
- 회전리스트
- 공간복잡도
- 자료구조
- 재귀함수
- inflearn
- 파이썬
- 알고리즘
- 포인터
- 간접 지정
- timecomplexity
- 3차원 배열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함