컴공생의 다이어리
[c++] 클래스 템플릿(Class Template) 본문
클래스 템플릿(Class Template)
함수를 템플릿으로 정의했듯이 클래스도 템플릿으로 정의가 가능하다. 그리고 이렇게 정의된 템플릿을 가리켜 클래스 템플릿이라고 하며, 이를 기반으로 컴파일러가 만들어 내는 클래스를 가리켜 템플릿 클래스라 한다.
클래스 템플릿은 객체 생성 시 명시적으로 결정하고자 하는 자료형을 선언해야 한다.
#include<iostream>
using namespace std;
template <typename T>
class Data{
T data;
public:
Data(T num) { data=num; }
void setData(T num) { data=num; }
T getData(void) { return data; }
};
int main(){
Data<int> a(0); //T를 int로 간주하고 객체 생성
a.setData(10);
cout<<"a:"<<a.getData()<<"\n";
Data<char> b('a'); //T를 char로 간주하고 객체 생성
cout<<"b:"<<b.getData()<<"\n";
return 0;
}
728x90
반응형
'Development > C & C++' 카테고리의 다른 글
[c++] 순차 자료 구조와 연결 자료 구조 (0) | 2021.01.13 |
---|---|
[c++] STL(Standard Template Library) (0) | 2021.01.05 |
[c++] 템플릿(template) (0) | 2021.01.04 |
[c++] class 상속(private, protected, public) (0) | 2021.01.03 |
[c++] 문자열 스트림 (std::stringstream) (0) | 2021.01.03 |
Comments