Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 자료구조
- ESP32
- c++
- stl
- 테스트주도개발
- REACT
- 적두트리
- 2623
- 페이지교체알고리즘
- 풀이
- Vite 사용 이유
- 9996
- WebRTC란
- 구슬탈출
- RBT
- 백준
- TDD
- 구현
- 3XN 타일링
- mediastream
- 백준 2133
- 13459
- OpenVidu
- tfjs
- dp
- TDD란?
- 데이터 링크 계층
- 메모리계층
- 1796
- LOLIN D32
Archives
- Today
- Total
그냥 블로그
[ C++ ] 오버로딩과 디폴트 인자 본문
반응형
오버로딩
같은 함수 이름으로 두가지 이상 함수 정의가 있다면 이것을 오버로딩이라 부른다.
형식 매개변수에서 1) 다른 개수를 가지거나 2) 다른 형의 형식 매개변수를 가져야 한다. 함수 호출이 존재할 때 컴파일러는 함수 호출의 인자와 일치하는 형식 매개변수의 개수와 형을 가지는 함수 정의를 사용한다.
double unitPrice(int diameter, double price);
double unitPrice(int length, int width, double price);
오버로딩 해결을 위한 규칙
1. 정확한 일치 : 인자의 개수와 형이 정확하게(자동 형 변환 없이) 정의와 맞는다면 그것이 사용된다.
2. 자동 형 변환을 사용한 일치 : 정확하게 일치하지 않지만 자동 형 변환을 사용해 일치된다면 그 정의를 사용한다.
디폴트 인자
함수에선 여러 개의 call-by-value에 대한 디폴트 인자를 기술할 수 있다. 만일, 대응하는 인자가 생략되면 디폴트 인자로 대체된다.
디폴트 인자들은 함수 선언에서 주어지는 것이지 함수 정의에서 주어지는 것은 아니다.
모든 디폴트 인자는 가장 오른쪽에 위치해야한다.
double unitPrice(int diameter, double price = 1.0);
double unitPrice(int length, int width, double price = 1.0);
반응형
'C++ > 기본 문법 및 개념' 카테고리의 다른 글
[ C++ ] 매개변수( call-by-value, call-by-reference ) (1) | 2023.10.17 |
---|