[語法] 當STL存一個template class的做法
小弟最近開始練習template,不過今天遇到一個問題。
請問,當我有一個class像這個樣子。
template<typename T>
class A
{
private:
T m_pParent;
public:
void show() { m_pParent->show(); }
void set( T i_pParent ) { m_pParent = i_pParent; }
};
而我現在要用vector或是list等類的容器來裝上面的class
那我應該要怎麼宣告這個vector或是list呢?
--------以下補充--------
我把我練習的整個都貼出來好了。
class show_char
{
private:
char* m_char;
public:
show_char(char* i_char)
:m_char ( i_char )
{}
~show_char();
void show() { printf( "%s\n", m_char ); }
};
class show_int
{
private:
int m_int;
public:
show_int( int i_int )
:m_int ( i_int )
{}
~show_int();
void show() { printf( "%d\n", m_int ); }
};
int _tmain(int argc, _TCHAR* argv[])
{
show_char* pointer_char = new show_char( "ABC" );
show_int* pointer_int = new show_int( 10 );
A<show_char*> Template_char;
Template_char.set( pointer_char );
Template_char.show();
A<show_int*> Template_int;
Template_int.set( pointer_int );
Template_int.show();
return 0;
}
我現在想要使用STL把這些宣告出來的A全部裝起來,
或是自己寫一個新的class來存這些東西,但是我卻
不知道STL容器要怎麼宣告才能裝下這些不一樣type
的A class
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.128.56
推
05/06 23:16, , 1F
05/06 23:16, 1F
→
05/06 23:17, , 2F
05/06 23:17, 2F
推
05/06 23:23, , 3F
05/06 23:23, 3F
※ 編輯: yan04870449 來自: 122.117.128.56 (05/06 23:26)
推
05/06 23:34, , 4F
05/06 23:34, 4F
推
05/08 00:51, , 5F
05/08 00:51, 5F
→
05/08 00:52, , 6F
05/08 00:52, 6F
→
05/08 00:52, , 7F
05/08 00:52, 7F
→
05/08 01:30, , 8F
05/08 01:30, 8F
→
05/08 01:31, , 9F
05/08 01:31, 9F