我可以在模板类中使用另一个方法中定义的虚拟方法吗?

时间:2019-03-31 03:15:55

标签: c++ templates virtual-method

  • 我有一个模板类,其中有两种方法,一种是虚拟方法,另一种是普通方法。
  • 普通人叫虚拟人。
  • 模板类的实现始终覆盖虚拟方法。
  • 问题似乎是从模板创建一个类时……调用get_data()...导致程序崩溃。
  • 我必须感觉,即使我重写了该方法,它仍然保留着“ nullptr”,这是我做错了什么?
virtual M *get_map() const { return nullptr; };

int get_data() const {
    return (*get_map())[_data_owner].data;
}

1 个答案:

答案 0 :(得分:0)

我似乎在重写方法时需要添加“ override”关键字。 即使我阅读了它不是必需的,但就我而言,我需要添加它以使其起作用。一切正常,对于未记录的帖子感到抱歉