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

+ Recent posts