我的教授非常坚决关于如何无法对接口类进行模板化。具体来说,具有纯虚函数的类不能具有模板参数。他还说,您不能创建虚拟操作员。
这是他当时向我们展示的例子。
template <typename T>
class Array {
public:
virtual void fill(T t) = 0;
virtual T& operator[](size_t i) const = 0;
// ...
};
此代码没有错吧? C ++历史上是否曾经有过一点无法编译?我在作业中使用了这种确切的代码形式,并且效果很好。
模板类可以具有纯虚函数和虚运算符吗?
是
此代码没有错吗?
右
[C ++历史上曾经有这样的地方无法编译?
可能。我不能肯定地说它将与原始的Cfront编译器一起编译。
但是,它在任何标准C ++版本中格式都正确。