#include<iostream>
using namespace std;
// 1. stack Vs stack<T>
//
template <typename T> class Stack
{
public :
// 다음중 생성자로 맞는것은?
Stack() {} //1
Stack() { } //2
//다음중 복사 생성자로 맞는 것은?
Stack(const Stack &s){} //1 클래스 안에서는 이 표현도 허용된다.
Stack(const Stack<T>& s){} // 2 OK 정확한 표현?!
//멤버 함수의 외부 구현
void push(const T& a);
//클래스 템플릿의 멤버 변수 함수 템플릿
template<typename U> T foo(U a);
};
template<typename T >void Stack<T>::push(const T& a){
}
template <typename T> template<typename U> stack<T>::foo (U a){}
int main(){
//Stack s1; //error Stack 은 타입이 아니라 template 이다.
Stack<int> s2; // OK stack<int> 는 타입이다.
}
'C,C++ > Android_FrameWork' 카테고리의 다른 글
[SSM 안드로이드 프레임워크 개발 강의]30.Traits (타입 판독 STL) (0) | 2012.08.16 |
---|---|
[SSM 안드로이드 프레임워크 개발 강의]29. 템플릿이야기3 (멤버함수 템플릿) (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]27. 템플릿이야기 1 (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]26. RTTI , RTCI 직접 구현해보기 (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]25. RTTI 이야기 (0) | 2012.08.16 |