C++
4.2 함수의 오버로딩, 생성자
명징직조지훈
2024. 6. 29. 15:17
#include <iostream>
void print(int x){
std::cout << "int : " << x << std::endl;
}
void print(char x){
std::cout << "char : " << x << std::endl;
}
void print(double x){
std::cout << "double : " << x << std::endl;
}
int main() {
int a = 1;
char b = 'c';
double c = 3.2f;
print(a);
print(b);
print(c);
return 0;
}
print 이름의 함수가 3개 정의되어있지만 C++ 에서는 함수의 이름이 같더라도 인자가 다르면 다른 함수라고 판단하기 때문에 오류가 발생하지 않는다.
오버로딩 과정으로
1 : 타입이 정확히 일치하는 함수 탐색
2 : 형변환을 통해 일치하는 함수를 탐색
3 : 포괄적인 형변환을 통해 일치하는 함수를 탐색