gpt4 book ai didi

c++ - default关键字虚析构函数

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:16 58 4
gpt4 key购买 nike

我一直在使用越来越多的 C++11,我遇到了一些我在任何地方都找不到的东西。当我们从基指针中删除派生类时,我们需要有虚析构函数;但有时父析构函数需要是“纯”的,这在 C++ 中是不可能的。所以,我的问题是 default 可以用于虚拟析构函数吗?我已经尝试过它并且有效,但我不知道它是否安全,因为在互联网上的任何地方都没有关于它的信息。

编辑:为了澄清问题,我正在谈论使用 virtual ~Class() = default;

最佳答案

Is virtual ~Base() = default; legal

是的。是的。

如果你想拥有一个纯虚析构函数,你可以这样做:

class Base
{
public;
virtual ~Base() = 0;
};

并提供实现:

Base::~Base() = default; // or any other implementation

所以 Base 是虚纯的。它可以通过 C++11 之前的版本完成(通过 {} 更改 = default;)。

关于c++ - default关键字虚析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21063974/

58 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com