오버로딩 : 이름이 같은 함수를 정의할 수 있다.
c에서 지원하지 않는 함수 오버로딩을 c++에서 지원한다.
int MyFunc(int num1){
return num1;
}
int MyFunc(int num1, int num2){
return num1+ num2;
}
오버로딩을 할 수 있는 이유는 c++에서 함수를 호출할 때 2가지를 확인하기 때문이다.
- 함수의 이름
- 매개변수의 자료형과 수
하지만 함수의 반환형이 다르다고 오버로딩이 안되니 주의해야한다.
c++에서는 매개변수에 기본적인 값을 넣어줄 수 있다.
int MyFunc(int num1 = 5)
{
return num1;
}
int main(){
//num = 5로 함수 호출된다.
MyFunc();
}
int MyFunc(int num1 = 5);
: 함수의 선언
int MyFunc(int num1){ return num1; }
: 함수의 정의
함수의 선언부분에 디폴트값을 설정해줘야 main에서 인식할 수 있다.
함수 호출 시 넣는 값은 그 순서대로 매개변수에 할당이 되기 때문에 디폴트값이 없는 매개변수를 가장 오른쪽에 넣는 형식으로 코드를 짜야한다.