강의

멘토링

커뮤니티

Inflearn Community Q&A

ijy1027274758's profile image
ijy1027274758

asked

Hong Jung-mo's C++ Programming: Learning by Doing

8.3 Constructors

생성자의 매개변수 유무와 괄호 유무

Written on

·

373

1

안녕하세요 16분 경 해당 캡처사진 코드 관련 질문드립니다.

 

18번째 줄의 생성자의 매개변수를 둘다 초기화 하시고

int main 함수에서

Fraction one_third (); 라고 쓰면 안된다고 하셨습니다

'파라미터(매개변수)가 없기 때문에 괄호를 삭제해주어야한다' 라고 하셨는데

이 경우는 생성자의 매개변수가 없는 것이 아니라 보내는 인자값이 없는 것 아닌가요?

생성자에는 매개변수가 2개가 존재하는데..헷갈리네요

 

감사합니다.

c++

Answer 1

3

안녕하세요, 답변 도우미 Soobak 입니다.

Fraction(const int& num_in = 1, const int& den_in = 1) 에서, = 1매개 변수의 기본 값을 설정해주었기 때문입니다.

즉, 해당 생성자에 아무런 인수를 넣어주지 않고 호출을 하게되면, m_numeratorm_denominator 은 기본값으로 1 을 갖게 되며, 마치 매개 변수가 없는 생성자와 동일한 형태로 호출이 가능하게 됩니다.

따라서, Fraction one_third() 가 아닌 Fraction one_third; 와 같이 생성자를 호출해주어야 하는 것입니다.

ijy1027274758님의 프로필 이미지
ijy1027274758
Questioner

친절한 답변 감사드립니다.

ijy1027274758's profile image
ijy1027274758

asked

Ask a question