티스토리 뷰

프로그래밍/C++

클래스 템플릿 template

에어버스 2017. 6. 13. 16:58

1. 함수 템플릿 참조: http://petra.tistory.com/1095

2. 클래스 템플릿 template

template <typename T>
class Data
{
T data;
public:
DATA(T d) { data = d; }
void SetData(T d) { Data = d; }
T GetData() { return data; }
};

void main()
{
Data<int> d1(10); // 정수형일때
Data<char> d2('a'); // 문자형일때
}

=======================

클래스 선언과 정의를 분리할때

template <typename T>
class Data
{
T data;
public:
DATA(T d);
void SetData(T d);
T GetData();
};

template <typename T>
DATA<T>::DATA(T d) { data = d; };

template <typename T>
void DATA<T>::SetData(T d) { Data = d; };

template <typename T>
T DATA<T>::GetData() { return data; };

처럼 해준다. 이때 선언과 정의는 하나의 파일에 같이 존재해야 한다. (헤더파일(.h)과 소스파일(.pp) 로 나눠질 수 없다.)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28