-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
변환생성자와 인수있는 생성자의 차이
21.12.31 20:23 작성 조회수 219
0
제목 그대로 둘의 차이가 뭔가요?
답변을 작성해보세요.
4
강민철
2022.01.01
인수 있는 생성자는 말 그대로 생성자에 인수가 있는 걸 의미하고,
변환 생성자는 인자의 자료형을 명시적으로 알수 있는 상황에서 한 매개변수로 객체를 생성하는 방법입니다.
(변환 생성자가 인수 있는 생성자의 포함되어 있는 개념이라 보아도 무방하겠군요)
사실, 이는 '말'로 이해하기보다는 '코드'로 이해하는 것이 빠릅니다.
강의에서 (0:50분~)
Fraction frac(7);
doSomething(frac);
위 코드로도 정상적으로 생성이 되고,
doSomething(Fraction(7));
위 코드로도 생성이 되고,
doSomething(7);
위 코드로도 생성이 되었죠?
모두 질문자님의 말씀처럼 인수 있는 생성자라고도 볼 수 있지만,
마지막 예시는 변환 생성자의 예시입니다.
강의 내에서 doSomething의 인자는 Fraction이지만,
Fraction의 생성자는 int 하나로도 생성이 되기 때문에 7만으로도 생성이 되는 것이지요.
변환 생성자에 대한 다양한 예시는 아래 링크를 참고해보세요.
https://en.cppreference.com/w/cpp/language/converting_constructor
새해 복 많이 받으시기 바랍니다. 감사합니다.
답변 1