Default Parameter를 이용한 피보나치 수열
/*
* http://sosal.tistory.com/
* made by so_Sal
*/
디폴트 파라미터는, 함수의 매개변수에 자동으로 값을 넣어주도록 합니다.
아래 피보나치 함수(재귀)로 예를 들것인데,
int fibo(int depth,int a=0,int b=1);
정의부분을 보면 a,b 매개변수에 값을 0,1을 주도록 되어있습니다.
메인함수나 다른 루틴에서 위 함수를 호출할 때
fibo(0) 은 곧 fibo(0,0,1)을 의미하고,
fibo(5,1) 은 곧 fibo(5,1,1)을 의미합니다.
fibo(5,5,3) 은 곧 fibo(5,5,3)을 의미합니다.
간단하죠? , 아래는 디폴트 파라미터의 예제입니다.
중요한것은 Default parameter를 구현할 때, 정의 부분에서 값을 넣어주되,
선언부분에서는 값을 넣으면 안됩니다.
선언부 / 정의부 따로 구분을 하지 않을 땐, 바로 default parameter값을 넣어주시면 됩니다.
이것은 C++에서만 가능합니다.
#include<iostream>
using namespace std;
int fibo(int depth,int a=0,int b=1);
int main(){
fibo(30);
cout<<endl;
return 0;
}
int fibo(int depth,int a,int b){
if(depth == 0)
return 0;
cout<<a<<" ";
return fibo(depth-1,b,a+b);
}