#include
using namespace std;
class Stack
{
int buff[10];
public:
void push(int data){}
int pop() {return 0;}
};
void main()
{
Stack s;
s.push(55); //int
s.push(10.123); //double ??
}
Stack에 저장되는 data가 integer type이 아닌 double 형 type으로 바꾸길 원한다면..?
#include
using namespace std;
template class Stack
{
T buff[10];
public:
void push(T data){}
T pop() {return 0;}
};
void main()
{
Stack s;
s.push(10.123);
}
template을 사용하여 type에 의존적인 부분을 변경한다.class template은 function template과 달리 암시적 추론이 되지 않는다.
Stack s; 로 선언한것은 완전하지 않다.
따라서 Stack<double> s;와 같이 상세 type을 적어야 한다.
댓글 없음:
댓글 쓰기