介紹
模板簡介:
模板是c++語言最強大卻最少被使用的特徵之一。
在c++中,模板讓程式設計師能夠定義一種使用不同類型對象的行為。這聽起來有點像宏,但是宏不是類型安全的,而模板是類型安全的。
模板聲明語法:
模板聲明以關鍵字template打頭,接下來是一個參數列表。
聲明格式如下:
template<parename list>
分析一個模板聲明:
template<typenamer objctTye>
objctType & GetMax (const obictType & value1, const objctType & value2)
{
if (value1 > value2)
return value1;
else
return value2;
}
注意: 調用GetMax時使用了<int>,這將模板參數objctType指定為int。
各類型模板
簡介
類模板聲明可以是:
函式定義或聲明;
類定義或聲明;
類模板成員函式或成員類的聲明或定義;
類模板的靜態數據成員定義;
類或類模板的成員模板的定義;
模板類
下面是一個簡單的模板類,它只有一個模板參數T: template <typename T>
class CMyFirstTemplateClass
{
public:
void SetVariable (T& newValue)
{
n_Value = newValue;
}
T& GetValue()
{
return m_Value;
}
private:
T m_Value;
};
類用於保存一個類型為T的變數,該變數的類型在使用模板時指定的。