C++에서는 매개변수에 디폴트 값을 설정할 수 있다.
#include <iostream> using namespace std; void Func(int a = 0) { cout << a << endl; } int main() { Func(); Func(2); return 0; }
위의 예시에서, 첫번째 print()함수 호출 시에는 '0'이 출력된다.
함수 호출 시 인자를 전달하지 않는 경우에는 '0'이 전달된 것으로 간주된다.
디폴트 값 설정 주의사항
디폴트 값 설정은 오른쪽부터 순서대로 설정이 가능하며, 함수 선언 시 설정해야 한다.
전달되는 인자는 왼쪽부터 채워진다.
#include <iostream> using namespace std; void Func(int a = 1, int b = 2); // 함수 선언 int main() { Func(); Func(3); Func(3, 5); return 0; } void Func(int a, int b) { cout << a << ", " << b << endl; }
결과
전달되는 인자는 왼쪽부터 채워지므로, Func(3) 호출 시 a에는 3이, b에는 디폴트 값 2가 설정된다.
(O)
void Func(int a, int b, int c = 3);
void Func(int a, int b = 2, int c = 3);void Func(int a = 1, int b = 2, int c = 3);
(X)
void Func(int a = 1, int b, int c);
void Func(int a = 1, int b = 2, int c);
디폴트 값은 오른쪽부터 설정해야 하므로, 위와 같은 경우는 디폴트 값을 지정할 수 없다.
'C++' 카테고리의 다른 글
[C++] 기본 자료형 (0) | 2019.03.05 |
---|---|
[C++] 인라인(inline) 함수 (0) | 2019.03.04 |
[C++] 함수 오버로딩 (0) | 2019.03.04 |
[C++] 입력 (0) | 2019.02.28 |
[C++] namespace (0) | 2019.02.28 |