함수 다중 정의(Overloading)
다중 정의는 영문 Overloading에 대한 한글 번역 표기이다.
함수의 이름은 같지만 매개변수 구성이 다른 점이 특징이다. (반환 형식, 호출 규칙은 오버로딩 대상이 아니다.)
디폴트 매개변수와 조합시 모호한 호출이라는 오류가 발생한다.
#include <iostream>
int add(int a, int b)
{
std::cout << "매개변수 2개(int): ";
return a + b;
}
int add(int a, int b, int c)
{
std::cout << "매개변수 3개(int): ";
return a + b + c;
}
double add(double a, double b)
{
std::cout << "매개변수 2개(double): ";
return a + b;
}
int main()
{
std::cout << add(3, 4) << std::endl;
std::cout << add(3, 4, 5) << std::endl;
std::cout << add(3.6, 4.1) << std::endl;
return 0;
}
'C, C++' 카테고리의 다른 글
C++) Namespace (0) | 2024.01.20 |
---|---|
C++) 함수 템플릿 (0) | 2024.01.20 |
C++) 범위 기반 for문 (0) | 2024.01.19 |
C++) 임시 객체와 r-value 참조 (0) | 2024.01.19 |
C++) 참조형 (변하지 않는 포인터) (0) | 2024.01.18 |