함수 오버로딩과 디폴트default 매개변수

1번함수 int calc(int a, int b, int c) {return a+b+c}
2번함수 int calc(int a, int b)
3번함수 double calc(double a, double b)
4번함수 double calc(double a, double b, double c)

int main(void)
{
 int a, int s, int d;
 double q, double w, double e;
 calc(a, s); //2번함수 호출
 calc(q, w); //3번함수 호출
 return 0;
}

5번함수 void calc(int a, int b)
2번함수와 반환형태만 다르다.
이 경우에는 오버로딩이 안됨

디폴트default 매개변수
1번함수를 변형해서 int calc(int a=1, int b=2, int c=3)
이라고 하는 것처럼 함수 선언시 변수가 입력되지 않아을 경우 사용할 기본값을 정해주는 것
result=calc();

result값은 6이 된다. void일 경우

6번함수를 void calc(void)라고 하면
result=calc();일 경우
1번과 6번 두개가 다 호출이 가능하기 때문에..