模板類模板類H文件和CPP文件分離
時間:2023-03-28 04:44:01 | 來源:營銷百科
時間:2023-03-28 04:44:01 來源:營銷百科
模板類模板類H文件和CPP文件分離:大部分資料建議模板類的聲明和實現(xiàn)都在.h文件中,這樣能夠保證正確鏈接。其實模板類也能夠完成聲明和實現(xiàn)分離,只是需要額外做一些處理。下面仍然以Stack為例:
//.h
template class T, int i class MyStack
{
T StackBuffer;
int cItems;
public:
void MyStack( void ) : cItems( i ) {};
void push( const T item ); T pop( void );
};
//.cpp
template class T, int i void MyStack T, i ::push( const T item )
{...}
template class T, int i T MyStack T, i ::pop( void )
{...}
//在.cpp文件的最后,增加模板聲明,把有可能用到的參數(shù)組合都進行聲明即可
template class MyStackunsigned int, 100;
template class MyStackfloat, 100;
...
注意:這樣做的缺點是,由于進行了聲明,會把每一個參數(shù)組合都編譯,生成的文件會非常大。