【发布时间】:2019-08-31 03:15:48
【问题描述】:
所以我试图创建一个抽象基类的派生类,但是不能使用派生类声明纯虚方法。
template<class T>
class Foo
{
public:
virtual Foo<T>* add(const Foo<T>* rhs) = 0;
};
template<class T>
class Doo : public Foo<T>
{
public:
Doo<T>* add(const Doo<T>* rhs)
{
return this;
}
};
int main()
{
Doo<double> d;
return 0;
}
我希望 Doo 中的 add 方法声明能够工作,因为 Doo 是 Foo 的子类,但是 g++ 说我没有覆盖 Foo's add 方法。我假设这对我声明Doo's add 方法的方式很简单。
【问题讨论】:
-
一个取一个
Foo另一个取一个Doo,这些是不同的方法
标签: c++ inheritance abstract-class