power-girl0-0

[ C++ ] 함수 중복 본문

언어/C++

[ C++ ] 함수 중복

power-girl0-0 2021. 5. 4. 15:03
728x90

함수 중복이란?


  • 동일한 이름의 함수가 공존하는 것을 의미한다.
  • function overloding
  • 함수 이름을 구분하여 기억할 필요가 없고, 함수 호출을 잘못하는 실수를 줄일 수 있는 편리함이 장점이다.
  • 함수 중복이 가능한 범위 
    - 보통 함수들 사이
     
    - 클래스의 멤버 함수들 사이
     
    - 상속 관계에 있는 기본 클래스와 파생 클래스의 멤버 함수들 사이 
  • 함수 중복이 가능한 조건
    - 중복된 함수들의 이름 동일해야 한다.
    - 중복된 함수들의 매개 변수 타입이 다르거나 개수가 달라야 한다.
    - 리턴 타입은 함수 중복과 무관하다.

예제 

최대값과 최소값을 구해라.

#include <iostream>
using namespace std;

int big(int a, int b){
	if(a>b) return a;
	else return b;
}

int big(int a[], int size){
	int res = a[0];
	for(int i=1; i<size; i++)
		if(res<a[i]) res = a[i];
	return res;
}

int small(int a, int b){
	if(a<b) return a;
	else return b;
}

int small(int a[], int size){
	int res = a[0];
	for(int i=1; i<size; i++)
		if(res>a[i]) res = a[i];
	return res;
}

int main(){
	int array[] = {1,9, -2,5,11,8,56,4,5,100,97,85,12,6};
	cout<<"2와 3중 큰 값 : "<<big(2,3)<<endl;
	cout<<"2와 3중 작은 값 : "<<small(2,3)<<endl;
	cout<<"최대 값 : "<<big(array,sizeof(array)/sizeof(array[0]))<<endl;
	cout<<"최소 값 : "<<small(array,sizeof(array)/sizeof(array[0]))<<endl;
}

728x90
Comments