[ C++ ] 함수 중복(Function Overloading)

2021. 5. 4. 11:28·Archive/Develop
728x90
반응형

 

 

함수 중복

 

동일한 이름의 함수가 공존하는 것이다.

function overloading 이라고도 한다.

 

 

함수 중복 성공 조건

 

중복된 함수들의 이름이 동일해야한다.

중복된 함수들의 매개 변수 타입이 다르거나 개수가 달라야한다.

리턴타입은 함수 중복과 무관하다.

 

 

 

오버로딩 예시

 

 

#include <iostream>
#include <string>

using namespace std;

int big(int a, int b) {
    if (a > b) {
        return a;
    }
    else {
        return b;
    }
}
int big(int a[], int size) {
    int res = a[0];
    for (int i = 1; i < size; i++) {
        if (res < a[i]) {
            res = a[i];
        }
        return res;
    }
}
int main() {
    int array[5] = { 1,9,-2,8,6 };
    cout << big(2, 3) << endl;
    cout << big(array, 5) << endl;
    return 0;
}

 

 

 

 

 

디폴트 매개 변수 (Default Parameter)

 

매개변수에 값이 넘어오지 않는 경우, 디폴트 값을 받도록 선언된 매개변수이다.

 

매개변수=디폴토값 형태로 선언한다.

 

 

디폴트 매개 변수에 관한 제약조건

 

디폴트 개개변수는 보통 매개변수 앞에 선언될 수 없다.

 

컴파일 오류 사례

 

에러 : void calc(int a=0, int b, int c);

 

->

 

정상 컴파일 : void calc(int b, int c, int a=0);

 

 

 

함수 중복의 모호성

 

함수 중복이 모호하여 컴파일러가 이를 판단하지 못하는 경우가 발생할 수 있다.

 

 

  • 형 변환으로 인한 함수 중복의 모호성
  • 참조 매개 변수로 인한 함수 중복의 모호성
  • 디폴트 매개변수로 인한 함수 중복의 모호성

 

 

 

 

 

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ C++ ] 프렌드함수 || 연산자 중복 || 프렌드함수 예제, 연산자 중복 예제  (0) 2021.05.11
[ Oracle ] 프로시저와 sql*plus 예제 (프로시저 호출하는 방법)  (0) 2021.05.10
[ Oracle ] Oracle PL/SQL 화면출력 & 간단 예제  (0) 2021.05.03
[ Django ]ORM ( Object-Relational Mapping ) 이란 무엇인가  (0) 2021.04.24
[ GitHub ] Build Docker Image with Private Repo  (0) 2021.04.24
'Archive/Develop' 카테고리의 다른 글
  • [ C++ ] 프렌드함수 || 연산자 중복 || 프렌드함수 예제, 연산자 중복 예제
  • [ Oracle ] 프로시저와 sql*plus 예제 (프로시저 호출하는 방법)
  • [ Oracle ] Oracle PL/SQL 화면출력 & 간단 예제
  • [ Django ]ORM ( Object-Relational Mapping ) 이란 무엇인가
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    docker
    파이썬 기초 문제
    코드업 파이썬 기초 100제
    C++
    코드업
    Codeup
    Oracle
    파이썬 문제
    Git
    Django
    보안뉴스
    자바스크립트
    파이썬 백준
    백준
    오라클
    자바스크립트 객체
    자바스크립트 API
    파이썬 알고리즘
    oracle db
    코드업 기초
    비박스
    백준 풀이
    장고
    카카오 100일 프로젝트
    파이썬 기초
    백준 문제풀이
    백준 파이썬
    javascript
    Python
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ C++ ] 함수 중복(Function Overloading)
상단으로

티스토리툴바