【发布时间】:2021-01-12 23:25:15
【问题描述】:
我正在寻找一种在基类中的函数中使用派生类类型的方法,类似于模板化函数。
class Base
{
T foo() const
{
return T(*this);
}
}
class Derived : public Base
{
}
这与我想使用它的目的相似,因此我不必在每个派生类中将 foo 重写为纯虚函数。目标是找到一种方法让 foo 中的 T 成为派生类的类型。例如,在 Derived 类型的对象上调用 foo 应该调用看起来像这样的 foo 版本 这个:
Derived foo() const
{
return Derived(*this);
}
我知道这可能不是你能做的,但谁能证实?
【问题讨论】:
标签: c++ function types abstract-class