[C++] 문제 01 - 2 [함수 오버로딩]

2023. 3. 13. 17:12Chlln's Code/C++

문제 1

다음 main 함수에서 필요로 하는 swap 함수를 오버로딩해서 구현해보자.

 

int main(void) {
     int num1 = 20, num2 = 30;
     swap(&num1, &num2);
     cout << num1 << " " << num2 << endl;

     char ch1 = 'A', ch2 = 'Z';
     swap(&ch1, &ch2);
     cout << ch1 << " " << ch2 << endl;

     double d1 = 1.111, d2 = 9.999;
     swap(&d1, &d2);
     cout << d1 << " " << d2 << endl;

     return 0;
}

q01-2-1.cpp

#include <iostream>
using namespace std;

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* num1, double* num2) {
	double temp = *num1;
	*num1 = *num2;
	*num2 = temp;
}

int main(void) {
	int num1 = 20, num2 = 30;
	swap(&num1, &num2);
	cout << num1 << " " << num2 << endl;
	
	char ch1 = 'A', ch2 = 'Z';
	swap(&ch1, &ch2);
	cout << ch1 << " " << ch2 << endl;
	
	double d1 = 1.111, d2 = 9.999;
	swap(&d1, &d2);
	cout << d1 << " " << d2 << endl;
	
	return 0;
}

출력 결과

30 20
Z A
9.999 1.111