728x90
c++에서 함수를 선언, 정의할때 매개변수에 값을 세팅해주는 방법이 있습니다.
함수를 호출할 때 인수에 값을 넣어주게 되면 그 값을 매개변수가 받게 되지만 인수를 생략한 채 호출하게 되면 기본으로 세팅한 값을 함수에서 사용하게 됩니다.
#include <iostream>
using namespace std;
void default_func(int num = 5)
{
cout << "num = " << num << endl;
}
int main()
{
default_func();
default_func(10);
}
/*
실행결과
num = 5
num = 10
*/
함수의 매개변수가 여러개인 경우도 사용할 수 있습니다. 다만 주의해야 할 점이 있습니다.
- 매개변수의 기본 값은 매개변수의 오른쪽부터 선언해야 합니다.
#include <iostream>
using namespace std;
void default_func(int num1=10, int num2)
{
cout << "num1 = " << num1 << "num2 = " << num2 << endl;
} // error C2548: 'default_func': 매개 변수 2에 대한 기본 매개 변수가 없습니다.
int main()
{
default_func(20);
default_func(30,40);
}
- 매개변수의 기본 값을 줄 때 생략을 할 수 없습니다.
#include <iostream>
using namespace std;
void default_func(int num1=10, int num2, int num3=20)
{
cout << "num1 = " << num1 << "num2 = " << num2 << endl;
} // error C2548: 'default_func': 매개 변수 2에 대한 기본 매개 변수가 없습니다.
int main()
{
default_func(30,40);
}
- 함수를 호출할 때는 인수는 매개변수의 왼쪽부터 짝을 맞추게 됩니다.
#include <iostream>
using namespace std;
void default_func(int num1=10, int num2 = 20,int num3=30)
{
cout << "num1 = " << num1 << "num2 = " << num2 << "num3 = " << num3 << endl;
}
int main()
{
default_func();
default_func(100);
default_func(100,200);
default_func(100,200,300);
}
/*
실행결과
num1 = 10 num2 = 20 num3 = 30
num1 = 100 num2 = 20 num3 = 30
num1 = 100 num2 = 200 num3 = 30
num1 = 100 num2 = 200 num3 = 300
*/
728x90
'Programming > C++' 카테고리의 다른 글
C++ 역슬래쉬(\) 출력하기 (0) | 2020.02.27 |
---|---|
C++ 오버로딩과 오버라이딩 (0) | 2020.02.06 |
C++ reference value(참조형 변수) (0) | 2020.02.04 |
C++ new, delete (0) | 2020.01.20 |
C++11 decltype (0) | 2020.01.20 |