반응형
#include <iostream>
using namespace std;
/*
함수 템플릿 == 일반화 문법
- 함수를 만드는 틀
- 내가 직접 함수를 만드는 것이 아니라
틀을 제공하고 컴파일러에게 생성을 요청하는 것
*/
/*
//오버로딩 구조를 직접 코딩한 예
int max(int n1, int n2)
{
return n1 > n2 ? n1 : n2;
}
double max(double n1, double n2)
{
return n1 > n2 ? n1 : n2;
}
*/
//오버로딩 구조를 컴파일러가 생성한 예
//템플릿 함수
//template : 템플릿 함수를 만드는 키워드
//typename T : T 는 사용자에 의해 매칭되는 타입 키워드
template<typename T>
T max(T n1, T n2)
{
return n1 > n2 ? n1 : n2;
}
int main()
{
int ret1 = max(10, 20);
cout << ret1 << endl;
double ret2 = max(20.2, 10.1);
cout << ret2 << endl;
char ret3 = max('C', 'F');
cout << ret3 << endl;
return 0;
}
반응형
'01.Bit 단기 > C++' 카테고리의 다른 글
41_하나이상의 typename T (0) | 2018.05.08 |
---|---|
40_암시적명시적 사용 (0) | 2018.05.08 |
38_상속구조의 관점(계좌관리 실습) (0) | 2018.05.03 |
37_다중상속및 모호성2(virtual) (0) | 2018.05.03 |
36_다중상속및 모호성1 (0) | 2018.05.03 |
댓글