• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

변환생성자와 인수있는 생성자의 차이

21.12.31 20:23 작성 조회수 203

0

제목 그대로 둘의 차이가 뭔가요?

답변 1

답변을 작성해보세요.

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

 

새해 복 많이 받으시기 바랍니다. 감사합니다.

 

 

ᄋᄉᄋ.님의 프로필

ᄋᄉᄋ.

질문자

2022.01.02

감사합니다 새해 복 많이 받으세요