일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- kotlin
- python
- CJ UNIT
- 백준 알고리즘
- 소프티어
- 백준알고리즘
- 프로그래머스
- java
- 코딩교육봉사
- 스프링
- BFS
- 파이썬
- softeer
- 데이터베이스
- programmers
- 정보처리산업기사
- SQL
- 백준
- MYSQL
- 코틀린
- 공부일지
- 코딩봉사
- C++
- 문제풀이
- 1과목
- SW봉사
- 회고
- 시나공
- 자바
- 알고리즘
Archives
- Today
- Total
JIE0025
[C++] 함수 오버로딩 본문
728x90
함수 오버로딩?
C언어에선 함수이름만으로 함수를 찾아서 동일한 이름의 함수를 선언할 수 없으나
C++에선 함수이름 + 인자의 형식,개수 에 따라 찾아서 동일한 이름의 함수를 선언할 수 있다. 이런 방식을 함수 오버로딩이라고 함.
예제 1 : swap 함수를 함수오버로딩을 사용해 정의하라.
#include<iostream>
using namespace std;
void swap(int* num1, int* num2) {
int tmp = *num1;
*num1 = *num2;
*num2 = tmp;
}
void swap(char* ch1, char* ch2) {
char tmp = *ch1;
*ch1 = *ch2;
*ch2 = tmp;
}
void swap(double* db1, double* db2) {
double tmp = *db1;
*db1 = *db2;
*db2 = tmp;
}
int main() {
int num1 = 20, num2 = 30;
swap(&num1, &num2);
cout << num1 << ' ' << num2 <<'\n';
char ch1 = 'A', ch2 = 'Z';
swap(&ch1, &ch2);
cout << ch1 << ' ' << ch2 << '\n';
double db1 = 3.33, db2 = 5.55;
swap(&db1, &db2);
cout << db1 << ' ' << db2 << '\n';
return 0;
}
다음 예제를 보자
반환형은 다르고 이름과 매개변수가 같다.
int test(int num){
return 0;
}
void test(int num){
return 0;
}
주의 💥 이 경우엔 함수오버로딩 실패 !!! 반환형은 고려하지 않는다.
'기타 학습 > Language' 카테고리의 다른 글
[C++] 매개변수 디폴트 값 (default vaule) (0) | 2022.05.06 |
---|---|
[C++] 매크로 함수와 인라인 함수 (macro, inline function) (0) | 2022.05.06 |
[BOJ - 자료구조] 1927 번 : 최소 힙 ( C++) (0) | 2022.05.06 |
[C++] string::find, string::npos 단어 존재 여부 확인 (1) | 2022.05.05 |
[Python] 파이참에서 API 사용하기 : Twilio API를 이용한 문자 메시지 전송 실습 (0) | 2020.04.17 |