C++에서는 사용자 정의 함수의 형식 매개변수 목록 에서 형식 매개변수에 기본값을 제공하는 것이 허용됩니다. 이렇게 하면 호출 시 실제 매개변수가 있는 경우 실제 매개변수를 형식 매개변수에 전달하는 방법이 사용됩니다. 호출 시 실제 매개변수가 없으면 해당 실제 매개변수를 지정하면 형식 매개변수는 기본값을 사용합니다.
예를 들어, 추가를 수행하는 함수에는 다음 코드가 있습니다.
#include<iostream>usingnamespacestd;intadd(inta=3,intb=5){returna+b;}intmain(){cout<<add(10,20)<<endl;//10과 20을 a와 20에 제공 각각 bcout<<add(30)<<endl;//a에 30을 주고, b는 기본값 5cout<<add()<<endl;//a와 b의 기본값인 3과 5를 사용 return0; }
모두가 코드를 읽고 컴퓨터에서 실험한 결과는 다음과 같습니다.
매개변수를 전달하는 순서는 오른쪽에서 왼쪽으로 스택에 푸시되기 때문에 기본값이 있는 매개변수는 형식 매개변수 목록의 가장 오른쪽에 배치되어야 한다는 점에 유의하세요! 또한, 함수를 미리 선언해야 하는 경우 형식 매개변수에 기본 매개변수가 있는 경우 선언 부분에서 기본값을 지정할 수 있으나, 후속 함수 정의 부분에서는 더 이상 기본값을 지정하지 않습니다.
실제 상황을 바탕으로 컴퓨터에서 더 많은 실험을 해보세요!