所以,我今天发现这句话,有人能解释一下吗?
"如果您认为C++并不过分复杂,那么什么是受保护的抽象虚拟基础纯虚拟私有析构函数,以及您最后一次需要它的时间? - Tom Cargill"
Jam*_*ran 19
我相信它是一个私有的纯虚拟析构函数(我认为这部分是不言自明的),它是抽象基类的一部分,你通过受保护的虚拟继承使用它..
class Base
{
private:
virtual ~Base() = 0; /* A */
};
class Derived : protected virtual Base
{
private:
~Derived () {.......} /* B */
};
Run Code Online (Sandbox Code Playgroud)
从标记B的角度来看,标记A处的行是"受保护的抽象虚拟基础纯虚拟私有析构函数",
这三个部分中的每一个都有其各自的用途.我不知道需要上述三个部分的设计模式,但没有什么能阻止它们一起使用.