如何在C ++中使用override关键字进行多重泛型继承?

我有一个通用的IDetachable接口,它提供了一种方法:

template<class T>
class IDetachable {
public:
  virtual T detached() const = 0;
};

我有以下示例类:

class A: public IDetachable<A> {
  virtual A detached() const override {
    // some implementation which returns a detached A object
  }
};

继承B时出现问题:

class B: public A, public IDetachable<B> {
  virtual B detached() const override {
    // some implementation which returns a detached B object
  }
};

clang ++告诉我:

error: virtual function 'detached' has a different return type ('B')
  than the function it overrides (which has return type 'A')

在我看来,编译器会自动为override关键字选择第一个父对象。有没有机会用override关键字告诉编译器我打算继承哪个父方法?

阿德里安·梅(Adrian May)

您可以传递一个虚拟T来分离:

template<class T>
class IDetachable {
public:
  virtual T detached(T*dummy) const = 0;
};

您可以忽略该参数,但是现在可以专注于该参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在多个泛型类型中使用关键字“ where”?

来自分类Dev

在C#中使用as关键字与泛型类型冲突的编译时行为

来自分类Dev

具有泛型和dynamic关键字的C#继承

来自分类Dev

如何在C ++中使用“ in”关键字

来自分类Dev

在C ++中使用C关键字

来自分类Dev

如何在Scala中使用“元组”关键字?

来自分类Dev

如何在模板类中使用friend关键字

来自分类Dev

如何在Haskell中使用“ aux”关键字

来自分类Dev

如何在Angular中使用'when'关键字

来自分类Dev

如何在React中使用Yield关键字?

来自分类Dev

如何在angular中使用“ this”关键字

来自分类Dev

如何在实体框架中使用“ In” SQL关键字?

来自分类Dev

如何在模板类中使用friend关键字

来自分类Dev

如何在 Swift 中使用关键字过滤搜索

来自分类Dev

如何在C ++中使用关键字delete删除特定的模板专业化

来自分类Dev

如何在Swift中使用名称为Objective-C的类作为关键字

来自分类Dev

如何在C#中的NHibernate的QueryOver中使用Oracle的内置关键字或函数?

来自分类Dev

如何在C中刺激使用register关键字?

来自分类Dev

如何对在 Django 中使用关键字搜索后显示的对象结果进行排序

来自分类常见问题

如何在基于块的API方法中使用非空和可空的Objective-C关键字

来自分类Dev

C#泛型是关键字协方差/协方差类型推断

来自分类Dev

如何制作在球拍中使用关键字的功能

来自分类Dev

在C#中使用`dynamic`关键字无法编译

来自分类Dev

在数组C ++中使用删除关键字

来自分类Dev

在C#中使用`dynamic`关键字无法编译

来自分类Dev

在C#中使用Volatile关键字

来自分类Dev

在不同的类C#中使用“ this”关键字

来自分类Dev

如何使用IN关键字?

来自分类Dev

如何在targeting.net 4.0项目中使用异步关键字

Related 相关文章

  1. 1

    如何在多个泛型类型中使用关键字“ where”?

  2. 2

    在C#中使用as关键字与泛型类型冲突的编译时行为

  3. 3

    具有泛型和dynamic关键字的C#继承

  4. 4

    如何在C ++中使用“ in”关键字

  5. 5

    在C ++中使用C关键字

  6. 6

    如何在Scala中使用“元组”关键字?

  7. 7

    如何在模板类中使用friend关键字

  8. 8

    如何在Haskell中使用“ aux”关键字

  9. 9

    如何在Angular中使用'when'关键字

  10. 10

    如何在React中使用Yield关键字?

  11. 11

    如何在angular中使用“ this”关键字

  12. 12

    如何在实体框架中使用“ In” SQL关键字?

  13. 13

    如何在模板类中使用friend关键字

  14. 14

    如何在 Swift 中使用关键字过滤搜索

  15. 15

    如何在C ++中使用关键字delete删除特定的模板专业化

  16. 16

    如何在Swift中使用名称为Objective-C的类作为关键字

  17. 17

    如何在C#中的NHibernate的QueryOver中使用Oracle的内置关键字或函数?

  18. 18

    如何在C中刺激使用register关键字?

  19. 19

    如何对在 Django 中使用关键字搜索后显示的对象结果进行排序

  20. 20

    如何在基于块的API方法中使用非空和可空的Objective-C关键字

  21. 21

    C#泛型是关键字协方差/协方差类型推断

  22. 22

    如何制作在球拍中使用关键字的功能

  23. 23

    在C#中使用`dynamic`关键字无法编译

  24. 24

    在数组C ++中使用删除关键字

  25. 25

    在C#中使用`dynamic`关键字无法编译

  26. 26

    在C#中使用Volatile关键字

  27. 27

    在不同的类C#中使用“ this”关键字

  28. 28

    如何使用IN关键字?

  29. 29

    如何在targeting.net 4.0项目中使用异步关键字

热门标签

归档