홈 > IT > IT정보
IT정보

[C++] 함수 오버로딩 (function overloading)

3 Selovic 0 118 1 0
C언어의 경우 함수의 이름이 동일하게 선언되어있다면
컴파일오류가 발생했으나, C++ 등 함수의 오버로딩이 가능한 언어의 경우
동일한 함수이름을 가지고 있어도 오버로딩이 가능한 조건에 해당되면
에러가 발생하지 않습니다.

* 매개변수의 갯수나 자료형이 다르다면 동일한 이름의 함수를 사용할 수 있습니다.

* C++의 경우 함수의 이름과 인자를 참조하여 코드에서 해당함수를 찾습니다.

* 만약 함수에서 반환하는 자료형만 다른경우에는 함수 오버로딩이 불가능합니다.

*함수오버로딩 예시코드*

#include <iostream>
using namespace std;

int sum(int a, int b) { // a에서 b까지 합하기
	int s = 0;
	for(int i=a; i<=b; i++) 
		s += i;
	return s;
}
int sum(int a) { // 0에서 a까지 합하기
	int s = 0;
	for(int i=0; i<=a; i++) 
		s += i;
	return s;
}
int main() {
	cout << sum(3, 5) << endl;
	cout << sum(3) << endl;
	cout << sum(100) << endl;
}

0 Comments
Category
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand
PlusFriend Chat