模板类可以具有纯虚函数和虚运算符吗?

问题描述 投票:0回答:1

我的教授非常坚决关于如何无法对接口类进行模板化。具体来说,具有纯虚函数的类不能具有模板参数。他还说,您不能创建虚拟操作员。

这是他当时向我们展示的例子。

template <typename T>
class Array {
public:
  virtual void fill(T t) = 0;
  virtual T& operator[](size_t i) const = 0;
  // ... 
};

此代码没有错吧? C ++历史上是否曾经有过一点无法编译?我在作业中使用了这种确切的代码形式,并且效果很好。

c++ templates operators pure-virtual
1个回答
0
投票

模板类可以具有纯虚函数和虚运算符吗?

此代码没有错吗?

[C ++历史上曾经有这样的地方无法编译?

可能。我不能肯定地说它将与原始的Cfront编译器一起编译。

但是,它在任何标准C ++版本中格式都正确。

© www.soinside.com 2019 - 2024. All rights reserved.