[問題] 這情況有合適的pattern嗎? (template+多型)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
class AlgoBase
{
};
class AlgoA : public AlgoBase
{
};
class AlgoB : public AlgoBase
{
public:
void how_to_call_func_B(int i){};
};
template <class Type>
class AlgoUser
{
AlgoBase *m_pAlgo;
public:
AlgoUser()
{
m_pAlgo = new Type;
m_pAlgo->how_to_call_func_B(2010); // !!
}
};
希望得到的正確結果:
期望使用的方式是
AlgoUser<AlgoA> 或 AlgoUser<AlgoB>
但我在 AlgoUser 裡會呼叫一個只有 AlgoB 才有的函數
我該怎麼把這函數包起來呢?
我有想過由 AlgoBase 再提供一個 virtual another_func()=0
但 AlgoB 的那個函數必須傳參數
不知道有什麼漂亮的寫法可以解決這個問題
謝謝大家的意見
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.50.10
→
01/04 21:07, , 1F
01/04 21:07, 1F
→
01/04 21:07, , 2F
01/04 21:07, 2F
→
01/04 21:08, , 3F
01/04 21:08, 3F
→
01/04 21:10, , 4F
01/04 21:10, 4F
→
01/04 21:10, , 5F
01/04 21:10, 5F
→
01/04 21:16, , 6F
01/04 21:16, 6F
→
01/04 21:16, , 7F
01/04 21:16, 7F
→
01/04 22:21, , 8F
01/04 22:21, 8F
→
01/04 22:21, , 9F
01/04 22:21, 9F
→
01/04 22:26, , 10F
01/04 22:26, 10F
→
01/04 22:26, , 11F
01/04 22:26, 11F
→
01/04 22:27, , 12F
01/04 22:27, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章