一、這是個關鍵字的問題,在template裡面,class和typename完全是等價的,但鼓勵使用typename,畢竟class不太準確。
二、在類定義的內部是肯定不需要再加template關鍵字的,除非你要定義的函式需要另一個模板引數。在類外面,肯定是要加template的。
三、這兩個函式都是建構函式,不過是兩個過載而已。sq_LList
擴充套件資料:
以下定義了一個類模板--棧,這個棧很簡單,只是為了說明類模板如何使用而已,最多隻能支援100個元素入棧
//stack.cpptemplate
m_maxSize = 100;
m_size = 0;
m_pT = new T[m_maxSize];
}
template
delete [] m_pT ;
m_size++;
m_pT[m_size - 1] = t;
T t = m_pT[m_size - 1];
m_size--; return t;
一、這是個關鍵字的問題,在template裡面,class和typename完全是等價的,但鼓勵使用typename,畢竟class不太準確。
二、在類定義的內部是肯定不需要再加template關鍵字的,除非你要定義的函式需要另一個模板引數。在類外面,肯定是要加template的。
三、這兩個函式都是建構函式,不過是兩個過載而已。sq_LList
擴充套件資料:
以下定義了一個類模板--棧,這個棧很簡單,只是為了說明類模板如何使用而已,最多隻能支援100個元素入棧
//stack.cpptemplate
m_maxSize = 100;
m_size = 0;
m_pT = new T[m_maxSize];
}
template
delete [] m_pT ;
}
template
m_size++;
m_pT[m_size - 1] = t;
}
template
T t = m_pT[m_size - 1];
m_size--; return t;
}
template
}