C++
[C++] 생성자
cbkpar
2023. 5. 9. 14:59
생성자
생성자는 객체가 생성될 때 초기화를 해주는 메서드
특징
1. 여러 개 존재 가능(오버로딩)
2. 반환타입이 없다.
3. 메소드명이 클래스명과 같다.
디폴트 생성자
생성자가 없어도 기본생성자가 호출된다.
명시적 디폴트 생성자
default를 통해 명시적으로 디폴트생성자를 사용할 수 있다.
생성자 오버로딩
첫째 줄에서 0이라는 결과가 나왔지만 초기화되지 않은 값이기 때문에 주의해야 한다.
기본생성자 제거
delete 키워드를 통해 생성을 방지할 수 있다.
기본생성자(접근제어시자)
생성자를 private으로 설정해 생성을 방지할 수도 있다.
기본 값 부여
기본으로 생성한 클래스는 50이라는 값을 갖는다.
두번째로 생성한 클래스는 100으로 덮어 씌워졌다.
초기화리스트
멤버변수에 미리 정의된 값이 초기화리스트의 값으로 덮어 씌워진다.
초기화 우선순위
덮어 씌워진 변수값에 전달받은 인자 값으로 대입된다.
자동 형변환
float형의 값이 자동으로 형변환이 일어나 값을 초기화해준다.
자동 형변환 방지
유니폼 초기화를 통해 자동으로 형변환 되는 것을 막을 수 있다.
묵시적 형변환 생성
100.5f가 100으로 변환되고
CPlayer(100)을 호출하게 된다.
묵시적 형변환 방지(explicit)
explicit 키워드를 통해 자동으로 형변환 되는 것을 막을 수 있다.