[CareerCup] 13.6 Virtual Destructor 虚析构函数

简介:

13.6 Why does a destructor in base class need to be declared virtual?

这道题问我们为啥基类中的析构函数要定义为虚函数。首先来看下面这段代码:

class Foo {
public:
    void f();
};
class Bar: public Foo {
public:
    void f();
};
Foo *p = new Bar();
p->f();

本文转自博客园Grandyang的博客,原文链接:虚析构函数[CareerCup] 13.6 Virtual Destructor ,如需转载请自行联系原博主。

相关文章
|
10月前
|
安全 芯片
推荐一款好用的单导联心电贴
近年来,中国心血管病患病率及死亡率仍处于上升阶段,而实时的便携式心电监测能够及时地发现异常心电信号,提醒人们提前就医,避免危险病情的发生。
|
负载均衡 Java Nacos
Nacos服务注册与发现
【10月更文挑战第11天】Nacos 是一个开源平台,用于服务发现和配置管理,提供服务注册、发现及动态配置等功能,适用于微服务架构。其核心功能包括服务注册、服务发现和动态配置管理,支持多种语言如 Java、Go、Python 等,具备高可用性和易用性。Nacos 可用于微服务治理、动态扩展和跨语言服务调用等场景,简化了服务间的交互和管理。
505 10
|
安全 Java 开发者
【技术咖必看】Java异常处理新境界:throws关键字,打造万无一失的方法签名!
【6月更文挑战第19天】在Java异常处理中,`throws`关键字用于方法签名,声明可能抛出的异常,提示调用者必须处理。它区分运行时异常和检查型异常,常用于声明需要调用者捕获的检查型异常。例如,`readFile`方法`throws IOException`,强制调用者通过try-catch或同样`throws`。多异常声明允许一次声明多个可能的异常类型,增强代码健壮性。理解并善用`throws`能构建更稳定、可读的代码。
268 1
|
Java Spring
获取 /resources 目录资源文件的 9 种方法,还有谁不会?!-1
获取 /resources 目录资源文件的 9 种方法,还有谁不会?!
623 0
|
机器学习/深度学习 运维 负载均衡
网络智能服务NIS-实例诊断功能介绍
01 背景前言 多年来,我们看到用户使用阿里云网络的方式发生了变化,一方面用户期待使用越来越多的产品可以快速灵活组网;另一方面又迫切希望能降低其基础设施日常运维的复杂性,以便他们能够专注于自己的应用程序和其他业务重点。
525 0
|
22小时前
|
云安全 人工智能 自然语言处理
|
5天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
314 116
|
8天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
561 51
Meta SAM3开源:让图像分割,听懂你的话