반응형
C언어와 다르게 C++에서는 함수 오버로딩 이라는 개념이 있습니다.
C언어는 동일한 이름의 함수가 정의되지 않습니다.
C++에서는 동일한 이름의 함수라도 매개변수가 다르면 정의해서 사용할 수 있습니다.
이를 "함수 오버로딩" 이라고 합니다.
아래와 같이 a라는 동일한 함수를 4개를 선언했습니다.
매개변수가 각각 다르기 때문에 함수를 호출할 때 구분이 가능합니다.
#include <iostream>
using namespace std;
void a(void){
cout << "매개변수가 void" << endl;
}
void a(int a){
cout << "매개변수가 int 1개" << endl;
}
void a(int a, int b){
cout << "매개변수가 int 2개" << endl;
}
void a(char a){
cout << "매개변수가 char 1개" << endl;
}
int main()
{
a();
a(1);
a(1,2);
a('a');
return 0;
}
아래는 실행 결과입니다.
함수 오버로딩은 매우 자연스럽고 합리적인 개념이라는 생각이드네요.
반응형
'IT 이야기 > C++' 카테고리의 다른 글
C++ 함수 매개변수 디폴트 값 설정하는 방법 (0) | 2021.09.01 |
---|---|
C++ 이름공간 namespace 알아보기 (0) | 2021.09.01 |
C++ 첫 코드 작성, Hello World! 살펴보기 (0) | 2021.08.30 |
아주 간단한 C++ 개발환경 설치 가벼운 IDE 추천 [Code Blocks] (0) | 2021.08.30 |