함수 오버로딩

function overloading

함수 오버로딩(function overloading)은 매개변수 타입이 다르거나, 매개변수의 개수가 다른 경우 함수 이름을 동일하게 선언하여 사용하는 것을 말한다.

실습 예제

ch03ex1_sum.cpp

1-10까지 합을 구하는 함수, n-10까지 합은 구하는 함수, 배열과 개수가 주어지면 배열 원소의 모든 합을 구하는 함수를 구현해본다.

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int sum();
int sum(int begin);
int sum(int begin, int end);
int sum(int* arr, int len);

int main()
{
	cout << "1부터 10까지 합: " << sum() << endl;
	cout << "5부터 10까지 합: " << sum(10) << endl;
	cout << "3부터 20까지 합: " << sum(3, 20) << endl;

	int arr[] = { 10, 20, 30, 40, 50 };
	cout << "배열 arr의 합: " << sum(arr, 5) << endl;
	
	return 0;
}

int sum()
{
	int result = 0;
	for (int i = 1; i <= 10; i++)
	{
		result += i;
	}

	return result;
}

int sum(int begin)
{
	int result = 0;
	for (int i = begin; i <= 10; i++)
	{
		result += i;
	}

	return result;
}

int sum(int begin, int end)
{
	int result = 0;
	for (int i = begin; i <= end; i++)
	{
		result += i;
	}

	return result;
}

int sum(int* arr, int len)
{
	int result = 0;
	for (int i = 0; i < len; i++)
	{
		result += arr[i];
	}

	return result;
}

실습 문제

ch03lab1_문자출력함수.cpp

함수 오버로딩을 사용하여 prn_char()함수를구현하시오.

ch03lab2_삼각형넓이함수.cpp

삼각형 넓이를 구하는 trianlge() 함수를 구현하시오.

Last updated