虚拟纯函数与模板,如何使其有效

时间:2016-12-06 09:59:49

标签: c++ c++11 templates virtual

我来到这样的场景:

  1. 需要定义界面
  2. 界面的参数类型和计数是任意的
  3. 所以,我需要一个模板函数,作为一个接口,它应该是虚拟的,但编译器无效,是否有一些出路?

    示例代码:

    import Keys.SQLite.Column;
    

1 个答案:

答案 0 :(得分:2)

您不能拥有"虚拟功能模板",故事结束。您可以在每个派生类中将函数模板作为接口。如果客户端代码在没有此接口的派生类的对象上调用此类接口,则会出现编译时错误,从而强制执行该接口。缺点是您无法从基类指针/引用调用此接口,您可以使用通常的虚函数来执行此操作