[C++] 함수 오버로딩, 디폴트 값

dd_ddong·2022년 7월 6일
0

c++

목록 보기
2/38

오버로딩

오버로딩 : 이름이 같은 함수를 정의할 수 있다.

c에서 지원하지 않는 함수 오버로딩을 c++에서 지원한다.


int MyFunc(int num1){
 return num1;
}
int  MyFunc(int num1, int num2){
 return num1+ num2;
}

오버로딩을 할 수 있는 이유는 c++에서 함수를 호출할 때 2가지를 확인하기 때문이다.

  1. 함수의 이름
  2. 매개변수의 자료형과 수

하지만 함수의 반환형이 다르다고 오버로딩이 안되니 주의해야한다.

디폴트 값

c++에서는 매개변수에 기본적인 값을 넣어줄 수 있다.


int MyFunc(int num1 = 5)
{
	return num1;
}

int main(){
	//num = 5로 함수 호출된다.
	MyFunc();
}

매개변수를 넣을 때 규칙

1. 함수의 선언 부분에 디폴트값을 넣어야 한다.

int MyFunc(int num1 = 5); : 함수의 선언
int MyFunc(int num1){ return num1; } : 함수의 정의
함수의 선언부분에 디폴트값을 설정해줘야 main에서 인식할 수 있다.

2. 기본 매개변수 , 디폴트값 있는 매개변수 순으로 넣어줘야한다.

함수 호출 시 넣는 값은 그 순서대로 매개변수에 할당이 되기 때문에 디폴트값이 없는 매개변수를 가장 오른쪽에 넣는 형식으로 코드를 짜야한다.

0개의 댓글