템플릿 클래스
템플릿 클래스는 템플릿 함수보다 더 강력한 기능을 제공한다. 템플릿 함수와 마찬가지로 템플릿 클래스의 사용법도 간단하다. 자세한 내용은 아래 예제에서 참고할 수 있다.
예제
#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
'C++ 기초 1' 카테고리의 다른 글
[C++] 6-2 단항 연산자의 오버로드 (2) | 2024.01.05 |
---|---|
[C++] 6-1 이항연산자의 오버로드 (1) | 2024.01.04 |
[C++] 5-4 템플릿 함수 (Template function) (1) | 2024.01.02 |
[C++] 5-3 순수 가상 함수 (Pure virtual function) (0) | 2023.12.29 |
[C++] 5-2 가상 함수(Virtual function) (1) | 2023.12.28 |