가끔 인터넷에 올라온 코드를 보면
어? 이 함수, 저번에 매개변수 2개 넣었던거 같은데 이번엔 1개네?
아~ 바로 전에 배웠던 오버로딩인가??
그럴 수도 있고
아닐 수도 있다
아닌 경우는 '매개변수의 기본값'을 설정해서 그렇다
다음과 같은 함수가 매개변수 기본값 설정이 완료된 함수이다
int MyFunc(int num1=1, int num2=2)
return num1+ num2;
}
딱 보면 알겠지만
생략된다면, 기본값을 넣은 셈 친다
추가로 MyFunc(5) 이렇게 실행한다면
첫번째 매개변수에 5를 넣고, 두번째 매개변수는 기본값으로 계산을 하게 된다
즉
MyFunc(), MyFunc(1), MyFunc(1,2)는
똑같은 흐름으로 계산되고, 똑같은 값을 반환한다
매개변수의 디폴트 값은 함수의 선언 부분에서 표현한다
혹시 여러분들은
함수의 선언과 함수의 정의의 차이를 아십니까?
아래 예를 봅시다
다음시간에 계속...
'개인공부 > C++' 카테고리의 다른 글
[C++] 함수 오버로딩 (1) | 2023.08.09 |
---|---|
[C++] 입출력 방식 (0) | 2023.08.08 |