본문 바로가기
01.Bit 단기/C++

39_함수템플릿

by chojju 2018. 5. 8.
반응형

#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

댓글