본문 바로가기

C++

4.2 함수의 오버로딩, 생성자

#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 : 포괄적인 형변환을 통해 일치하는 함수를 탐색

 

'C++' 카테고리의 다른 글

4. 객체  (0) 2024.06.16
3. new, delete  (0) 2024.06.15
2. 참조  (1) 2024.06.15
1.2 C 와 C++ (기본 문법 비교)  (0) 2024.06.15
왜 C++ 인가 (namespace)  (1) 2024.06.15