본문 바로가기
C++/C++ 기초 문법

[C++] 함수 오버로딩

by 후야- 2023. 12. 21.

1. 함수 오버로딩 (Function Overloading)

#include <iostream>

int MyFucntion(int num)
{
	++num;
	return num;
}
int MyFucntion(int a, int b)
{
	return a + b;
}


int main()
{
	MyFucntion(10);    // MyFucntion(int num) 호출
	MyFucntion(5, 10); // int MyFucntion(int a, int b) 호출
	return 0;
}

◾ 함수호출 시 전달되는 인자를 통해서 호출하고 하는 함수의 구분이 가능하다.

◾ 이와 같이 호출할 때 밑에 사용 가능한 방법들이 나온다.

◾ C++ 은 호출할 때 함수의 이름, 매개변수의 선언 둘 다 활용하기 때문이다.

◾ C 언어에서는 함수의 오버로딩이 불가능하다. (호출할 때 함수의 이름만 찾기 때문)

◾ 고로 함수의 오버로딩이 가능 하려면 매개변수의 선언이 달라야 한다.

 

#include <iostream>

using namespace std;

void MyFunction(void)
{
	cout << "MyFunction" << endl;
}
void MyFunction(char b)
{
	cout << "MyFunction(char b)" << endl;
}
void MyFunction(int a, int b)
{
	cout << "MyFunction(int a, int b)" << endl;
}

int main()
{
	MyFunction();
	MyFunction('a');
	MyFunction(5, 10);
	
	return 0;
}

'C++ > C++ 기초 문법' 카테고리의 다른 글

[C++] 열거 타입  (0) 2023.12.22
[C++] 인라인(inline) 함수  (0) 2023.12.22
[C++] 매개변수의 디폴트 값  (0) 2023.12.21
[C++] namespace - 네임스페이스  (1) 2023.12.20
[C++] C++ 기초  (0) 2023.12.20