본문 바로가기

C++ 기초 1

[C++] 5-5 템플릿 클래스(Template class)

템플릿 클래스

   템플릿 클래스는 템플릿 함수보다 더 강력한 기능을 제공한다. 템플릿 함수와 마찬가지로 템플릿 클래스의 사용법도 간단하다. 자세한 내용은 아래 예제에서 참고할 수 있다.

 

 
예제
#include <iostream>
using namespace std;
template <class T1, class T2>
class test {
private:
	T1 x;
	T2 y;
public:
	test(T1 a, T2 b);
	void output();
};

template <class T1, class T2>
test <T1, T2>::test(T1 a, T2 b) {
	x = a; y = b;
}

template <class T1, class T2>
void test <T1, T2>::output() {
	cout << "x=" << x << ",y=" << y << endl;
}

int main()
{
	test <int, int> ob1(100, 200);
	test <int, float> ob2(10, 20.5);
	test <const char*, float> ob3("Hong", 83.5);
	ob1.output();
	ob2.output();
	ob3.output();
	return 0;
}
실행 결과
x=100,y=200
x=10,y=20.5
x=Hong,y=83.5
  • 템플릿 클래스 외부에서 멤버 함수를 정의할 때는 template <class Type>를 써 주고 클래스명 다음에 <Type>을 추가해야 한다.
참고

1. 장인성 외 5인, (초보자도 쉽게 따라 할 수 있는) C++프로그래밍, 광문각, 2017.02.13