Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 카카오프로젝트 100
- 자바스크립트 node
- 카카오프로젝트
- 보안뉴스 한줄요약
- Oracle SQL
- ES6
- php
- 깃허브
- javascript
- 랜섬웨어
- 자바스크립트 API
- 보안뉴스 요약
- 보안뉴스한줄요약
- oracle
- 자바스크립트 prototype
- 다크웹
- 오라클
- 자바스크립트
- 카카오프로젝트100
- numpy
- 보안뉴스요약
- 자바스크립트 기본 문법
- python
- 자바스크립트 객체
- 파이썬
- 자바스크립트 element api
- 자바스크립트 jQuery
- 보안뉴스
- GIT
- oracle db
Archives
- Today
- Total
FU11M00N
[ C++ ] 함수중복 본문
- 함수 중복
동일한 이름의 함수가 공존하는 것이다.
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);
- 함수 중복의 모호성
함수 중복이 모호하여 컴파일러가 이를 판단하지 못하는 경우가 발생할 수 있다.
- 형 변환으로 인한 함수 중복의 모호성
- 참조 매개 변수로 인한 함수 중복의 모호성
- 디폴트 매개변수로 인한 함수 중복의 모호성
'Programming > C++' 카테고리의 다른 글
[ C++ ] 상속개념 (0) | 2021.06.01 |
---|---|
[ C++ ] 프렌드함수 (0) | 2021.06.01 |
[ C++ ] 틱택토(Tic-Tca-Toe) 게임 (0) | 2021.04.15 |
[ C++ ] 임의의 문자 알아맞추기 게임 (행맨) (0) | 2021.04.13 |
[ C++ ] C++ 으로 구현한 은행프로그램 (feat. 동적할당) (0) | 2021.03.30 |
Comments