Minwoo Dev.
[C++] 윤성우의 열혈 C++ 프로그래밍 Ch01-2 : 함수 오버로딩 본문
728x90
반응형
SMALL
문제
다음 main 함수에서 필요로 하는 swap 함수를 오버로딩해서 구현해보자.
#include <iostream>
int main(void)
{
int num1 = 20, num2 = 30;
swap(&num1, &num2);
std::cout << num1 << ' ' << num2 << std::endl;
char ch1 = 'A', ch2 = 'Z';
swap(&ch1, &ch2);
std::cout << ch1 << ' ' << ch2 << std::endl;
double dbl1 = 1.111, dbl2 = 5.555;
swap(&dbl1, &dbl2);
std::cout << dbl1 << ' ' << dbl2 << std::endl;
return 0;
}
정답
void swap(int *num1, int *num2)
{
int temp = *num1;
*num1 = *num2;
*num2 = temp;
}
void swap(char *ch1, char *ch2)
{
char temp = *ch1;
*ch1 = *ch2;
*ch2 = temp;
}
void swap(double *dbl1, double *dbl2)
{
double temp = *dbl1;
*dbl1 = *dbl2;
*dbl2 = temp;
}
swap 함수를 포함한 총 코드
#include <iostream>
void swap(int *num1, int *num2)
{
int temp = *num1;
*num1 = *num2;
*num2 = temp;
}
void swap(char *ch1, char *ch2)
{
char temp = *ch1;
*ch1 = *ch2;
*ch2 = temp;
}
void swap(double *dbl1, double *dbl2)
{
double temp = *dbl1;
*dbl1 = *dbl2;
*dbl2 = temp;
}
int main(void)
{
int num1 = 20, num2 = 30;
swap(&num1, &num2);
std::cout << num1 << ' ' << num2 << std::endl;
char ch1 = 'A', ch2 = 'Z';
swap(&ch1, &ch2);
std::cout << ch1 << ' ' << ch2 << std::endl;
double dbl1 = 1.111, dbl2 = 5.555;
swap(&dbl1, &dbl2);
std::cout << dbl1 << ' ' << dbl2 << std::endl;
return 0;
}
결과
728x90
반응형
LIST
'C++' 카테고리의 다른 글
[C++] 윤성우의 열혈 C++ 프로그래밍 Ch01-4 : 파일의 분할 (0) | 2024.03.03 |
---|---|
[C++] 윤성우의 열혈 C++ 프로그래밍 Ch01-3 : 매개변수의 디폴트 값 (0) | 2024.03.02 |
[C++] 윤성우의 열혈 C++ 프로그래밍 Ch01-1 : C++ 기반의 데이터 입출력 문제풀이 (0) | 2024.03.02 |
<윤성우의 열혈 C프로그래밍> :: 24. 파일 입출력 문제풀이 (0) | 2023.09.11 |
<윤성우의 열혈 C프로그래밍> :: 23. 구조체와 사용자 정의 자료형 2 문제풀이 (0) | 2023.09.10 |