728x90
초기화 방법
- 생성자 내에서
- 초기화 리스트
-C++11 문법
초기화 리스트
- 일단 상속 관계에서 원하는 부모 생성자를 호출할때 필요하다
- 생성자 내에서 초기화 vs 초기화 리스트
- 일반 변수는 별 차이 없음
- 멤버 타입이 클래스인 경우 차이가 난다
- 정의함과 동시에 초기화가 필요한 경우(참조타입,const타입)
class Player
{
public:
Player() {}
Player(int id) {}
};
class Knight :public Player
{
public:
Knight() : Player(1),_hp(100), _hpRef(hp), _hpComst(100)//선처리영역에서 c++11이전문법
{
_hp = 100;// 생성자 내에서
}
public:
int _hp = 100;//C++11 문법;
int& _hpRef;
const int _hpConst;
};
설계를 할때 상속관계로 만들어줄지 포함관계로 만들어줄지 고민하는것이 좋다.
728x90
'프로그래밍 > c++' 카테고리의 다른 글
객체지향 마무리 (0) | 2023.03.01 |
---|---|
연산자 오버로딩 (0) | 2023.03.01 |
객체지향의 3대속성 - 다형성 (0) | 2023.03.01 |
객체지향의 3대속성 - 은닉성 (0) | 2023.02.22 |
객체지향의 3대속성 - 상속성 (0) | 2023.02.22 |
댓글