/*
* 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);
}
'Programing > C- programing' 카테고리의 다른 글
C++ - 복사생성자 (얕은복사와 깊은복사) (2) | 2010.09.02 |
---|---|
Topological sort 알고리즘 (0) | 2010.09.01 |
Hash function - 나눗셈법 (0) | 2010.09.01 |
이진 탐색트리 삭제 포함 소스 (0) | 2010.08.23 |
이진탐색트리 자동 생성 소스 (0) | 2010.08.23 |