委托应该有一个虚拟的析构函数吗?

And*_*rew 1 c++ inheritance delegates design-patterns

在delegate模式中,destuctor虚拟化是好的吗?

class MyClass
{
    ...
};

class MyClassDelegate
{
    ...
};
Run Code Online (Sandbox Code Playgroud)

一方面类MyClassDelegate是一个接口,应该是从继承,但另一方面它不应该delete在subclass通过MyClassDelegate指针

你怎么看 ?

Mic*_*son 5

您可以考虑将其保护为非虚拟 - 然后您实际上强制执行并记录您无法使用该类指针删除对象的事实.可以在这里找到更多的讨论