類模版:當(dāng)多個(gè)類中只存在數(shù)據(jù)成員的類型有不同時(shí)使用。
類模版的定義使用如下:
template<typename TEST,char c_TEST>class Demo {public: void fun();PRivate:};成員函數(shù)如果在類內(nèi)定義還是和普通的一樣去定義。但是如果成員函數(shù)要在類外定義,就必須在之前加上:template<typename TEST,char c_TEST>void Demo<TEST, c_TEST>::fun() { }也就是都加上template<typename TEST,char c_TEST>和下面的紅色部分。void Demo<TEST, c_TEST>::fun() { }但是要注意的是,在VS2015以及之前的VS版本都不能進(jìn)行類模版的多文件編譯,也就是類模版和類的聲明和定義不能分開,只能存在同一個(gè)文件中。而且,要注意,即使你的類模版只產(chǎn)生了一個(gè)模版類,你也不能像之前一樣去使用 類名::靜態(tài)成員函數(shù) 我的認(rèn)為是,因?yàn)檫@里可能存在類的重載,所以編譯器不允許出現(xiàn)這樣的調(diào)用。因?yàn)椴恢朗钦{(diào)用的哪個(gè)類的靜態(tài)成員函數(shù)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注