템플릿(Tamplate)
템플릿: 함수나 클래스의 매개변수 타입을 자동으로 인식해 주는 라이브러리
//함수템플릿의 원형 선언
template<typename T>
void print(T data);
//템플릿을 사용한 함수
template<typename T>
void print(T data)
{
cout << "데이터 : " << data << endl;
}
결과 출력

만약 템플릿을 사용 하지 않는다면, 함수 오버로딩을 이용하여 아래와 같이 각 타입에 대응하는 함수를 만들어 주어야 한다.
void print(int a)
{
cout << "데이터 : " << a << endl;
}
void print(float a)
{
cout << "데이터 : " << a << endl;
}
void print(const char* a)
{
cout << "데이터 : " << a << endl;
}
< 참고 >
템플릿은 항상 헤더파일 안에 생성된다(게터 세터의 켑슐도 항상 헤더에 선언 되듯이)
//데이터 두개를 받는 템플릿 만들어라
template<typename T1, typename T2>
void print(T1 data1, T2 data2);
//함수템플릿의 원형 선언
template<typename T>
void print(T data);
//템플릿을 사용한 함수
template<typename T>
void print(T data)
{
cout << "데이터 : " << data << endl;
}
결과 출력

만약 템플릿을 사용 하지 않는다면, 함수 오버로딩을 이용하여 아래와 같이 각 타입에 대응하는 함수를 만들어 주어야 한다.
void print(int a)
{
cout << "데이터 : " << a << endl;
}
void print(float a)
{
cout << "데이터 : " << a << endl;
}
void print(const char* a)
{
cout << "데이터 : " << a << endl;
}
< 참고 >
템플릿은 항상 헤더파일 안에 생성된다(게터 세터의 켑슐도 항상 헤더에 선언 되듯이)
//데이터 두개를 받는 템플릿 만들어라
template<typename T1, typename T2>
void print(T1 data1, T2 data2);
댓글
댓글 쓰기