我想为从基类派生的所有类强制使用某个 API。通常,您可以使用具有纯虚函数的抽象基类来执行此操作。但是,如何处理返回派生类型的函数?我该如何去强制这种类型的功能?
struct base
{
virtual base func() = 0;
};
struct deriv1 : base
{
deriv1 func();
};
struct deriv2 : base
{
deriv2 func();
};
此示例将给出类似“成员函数的无效抽象返回类型”的错误。我已经看到一些建议返回指针的答案,但我不想为此深入研究动态内存,并且跟踪所有分配的指针将是一种特殊的地狱。有任何想法吗?