如何获得与虚函数模板c ++类似的结果

时间:2016-06-22 14:44:00

标签: c++ templates

这是我的问题,我试图创建一个可以在派生类中获取对队列成员的引用的基类。我的基类中有两个模板函数:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(saved_passwords.this, android.R.layout.simple_list_item_1,MyClass.addArray);

和一个派生类,理论上可以为任何类型的函数class Base { template<TYPE type> virtual void foo(std::queue<TYPE>*& typeQueue) //I know virtual isn't allowed { //do nothing as it's general case } template<typename TYPE> void bar(TYPE type) { std::queue<TYPE>* typeQueue; foo(typeQueue); //... do some stuff with type } } 专门化

foo

上面的代码更多的是关于一个意识形态,然后是一个逐字逐句的代码,我希望函数class Derived : public Base { public: template<> void foo<int>(std::queue<int>*& m_integerQueue) { integerQueue= &m_integerQueue; } template<> void foo<double>(std::queue<double>*& doubleQueue) { doubleQueue = &m_doubleQueue; } private: std::queue<int> m_integerQueue; std::queue<double> m_doubleQueue; } 根据类型在派生类中调用相应的函数barfoo被调用时指定。当然这个解决方案不起作用,这里的问题是我们不能使模板功能虚拟化。

我不确定这是否是设计错误,但这是一般的想法,我无法在任何地方找到合适的解决方案,所以我在这里发布了自己的问题。

已编辑以使我的问题清晰

0 个答案:

没有答案