以下代码实际上做了什么?
class Object{ public: virtual ~Object() = 0;};Object::~Object() { /*...*/ }
我认为纯虚函数的要点是强制子类实现该特定函数.如果是这种情况,那么为什么还要在虚拟基类中实现相同的功能呢?
解决方法 此代码阻止您创建Object实例,同时允许您创建子类.在销毁对象时,将调用父类的析构函数,因此它必须存在.无论析构函数是纯虚函数还是非虚函数,这都适用.只有在显式调用它时才需要定义纯虚拟成员函数Foo:theFunc().
总结以上是内存溢出为你收集整理的c – 为纯虚拟析构函数添加定义的目的是什么?全部内容,希望文章能够帮你解决c – 为纯虚拟析构函数添加定义的目的是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)