c++ 如何使用class
一、这是个关键字的问题,在template<>里面,class和typename完全是等价的,但鼓励使用typename,毕竟class不太准确。
二、在类定义的内部是肯定不需要再加template关键字的,除非你要定义的函数需要另一个模板参数。在类外面,肯定是要加template的。
三、这两个函数都是构造函数,不过是两个重载而已。sq_LList<double> s1(100);就是定义一个可以包含100个double类型的元素的列表
扩展资料:
以下定义了一个类模板--栈,这个栈很简单,只是为了说明类模板如何使用而已,最多只能支持100个元素入栈
//stack.cpptemplate <class T> Stack<T>::Stack(){
m_maxSize = 100;
m_size = 0;
m_pT = new T[m_maxSize];
}
template <class T> Stack<T>::~Stack() {
delete [] m_pT ;
}
template <class T> void Stack<T>::push(T t) {
m_size++;
m_pT[m_size - 1] = t;
}
template <class T> T Stack<T>::pop() {
T t = m_pT[m_size - 1];
m_size--; return t;
}
template <class T> bool Stack<T>::isEmpty() { return m_size == 0;
}