overloading
함수의 이름은 동일하나 매개변수의 길이와 type에 따라 다른 함수로 인식 가능. 이때 return type은 고려하지 않는다.
정의
예를들어 절댓값을 만들어주는 함수 abs의 경우 abs(int) abs(double) abs(float)모두 가능하다. 이는 세개 모두 다른 함수임을 의미한다. 하지만 사용이가능함은 바로 overloaing의 특성을 이용한 것이다.
이때 overloading을 이용시, 프로그래머들은 함수의 body의 내용은 모두 동일하게 해준다고 약속하였다.
보통 함수에서 overloading 하는 경우보다는 연산자를 이용하여 overloading 하는 경우가 많다. 이는 class에 대한 개념을 배운후 연산자 오버로딩(operator overloading)을 통하여 보다 자세히 설명하도록 하겠다.
리턴타입을 다르게 하고 나머지는 동일하게 할시 정의 두번을 했다는 오류가 나온다.
매개변수를 한개는 int, 한개는 double로 했을때의 결과
'언어 > CPP(cpp)' 카테고리의 다른 글
클레스 (0) | 2018.02.05 |
---|---|
함수 default (0) | 2018.02.05 |
call by reference vs call by value vs call by pointer_g++로 헤더파일_cpp파일 동시 컴파일 (0) | 2018.02.03 |
c++_객체지향이란?_cin_cout_cascading_우분투로 c++컴파일_flag_cout 출력소수점 정하기 (0) | 2018.02.03 |
github_cpp (0) | 2017.12.26 |