-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
생성자의 매개변수 유무와 괄호 유무
23.08.03 15:16 작성 조회수 237
1
안녕하세요 16분 경 해당 캡처사진 코드 관련 질문드립니다.
18번째 줄의 생성자의 매개변수를 둘다 초기화 하시고
int main 함수에서
Fraction one_third (); 라고 쓰면 안된다고 하셨습니다
'파라미터(매개변수)가 없기 때문에 괄호를 삭제해주어야한다' 라고 하셨는데
이 경우는 생성자의 매개변수가 없는 것이 아니라 보내는 인자값이 없는 것 아닌가요?
생성자에는 매개변수가 2개가 존재하는데..헷갈리네요
감사합니다.
답변을 작성해보세요.
2
Soobak
2023.08.04
안녕하세요, 답변 도우미 Soobak 입니다.Fraction(const int& num_in = 1, const int& den_in = 1)
에서, = 1
로 매개 변수의 기본 값을 설정해주었기 때문입니다.
즉, 해당 생성자에 아무런 인수를 넣어주지 않고 호출을 하게되면, m_numerator
와 m_denominator
은 기본값으로 1
을 갖게 되며, 마치 매개 변수가 없는 생성자와 동일한 형태로 호출이 가능하게 됩니다.
따라서, Fraction one_third()
가 아닌 Fraction one_third;
와 같이 생성자를 호출해주어야 하는 것입니다.
답변 1