e.J*_*mes 3 c++ destructor pure-virtual
灵感来自:C++ - 我们为什么要在类定义之外定义纯虚析构函数?
以下代码实际上做了什么?
class Object
{
public:
virtual ~Object() = 0;
};
Object::~Object() { /*...*/ }
Run Code Online (Sandbox Code Playgroud)
我认为纯虚函数的要点是强制子类实现该特定函数.如果是这种情况,那么为什么还要在虚拟基类中实现相同的功能呢?
Eri*_*rik 10
此代码阻止您创建Object实例,同时允许您创建子类.
在销毁对象时,将调用父类的析构函数,因此它必须存在.无论析构函数是纯虚函数还是非虚函数,这都适用.只有在显式调用它时,才需要定义纯虚拟成员函数Foo:theFunc().
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |