School Study/C++
C++은 함수 오버로딩이 된다!!!
공부하는 뚱이
2023. 8. 30. 23:16
반응형
C++은 함수 오버로딩 즉, 함수 이름이 같아도 매개변수가 전부 다르다는 걸 인지합니다! wow
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
void swap_int(int& a, int& b) {
int tmp = a;
a = b;
b = tmp;
}
void swap_double(double& a, double& b) {
double tmp = a;
a = b;
b = tmp;
}
void swap_point(int* (&a), int* (&b)) {
int* tmp = a;
a = b;
b = tmp;
}
int main(void) {
int a = 10, b = 20;
double da = 1.1, db = 2.2;
int* pa = &a, * pb = &b;
swap_int(a, b);
swap_double(da, db);
swap_point(pa, pb);
cout << "a : " << a << endl;
cout << "b : " << b << endl;
cout << "da : " << da << endl;
cout << "db : " << db << endl;
cout << "*pa : " << *pa << endl;
cout << "*pb : " << *pb << endl;
return 0;
}
이 코드를
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
void swap(int& a, int& b) {
int tmp = a;
a = b;
b = tmp;
}
void swap(double& a, double& b) {
double tmp = a;
a = b;
b = tmp;
}
void swap(int* (&a), int* (&b)) {
int* tmp = a;
a = b;
b = tmp;
}
int main(void) {
int a = 10, b = 20;
double da = 1.1, db = 2.2;
int* pa = &a, * pb = &b;
swap(a, b);
swap(da, db);
swap(pa, pb);
cout << "a : " << a << endl;
cout << "b : " << b << endl;
cout << "da : " << da << endl;
cout << "db : " << db << endl;
cout << "*pa : " << *pa << endl;
cout << "*pb : " << *pb << endl;
return 0;
}
이렇게 해도 출력값은 동일하게 나옵니다!!!
반응형