复习:虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)

虚析构函数

虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对
象。

#include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;class Base
{
public:Base(){cout << "Base" << endl;}// virtual ~Base()~Base(){cout << "~Base" << endl;}
};class Derived : public Base
{
public:Derived(){cout << "Derived" << endl;}~Derived(){cout << "~Derived" << endl;}
};void test1()
{Base *pb;pb = new Derived;delete pb;
}int main()
{test1();system("pause");return 0;
}

如果析构函数不加virtual,delete pb只会执行Base的析构函数,而不是真正的Derived析构函数。因为不是virtual函数,所以调用的函数依赖于指向静态类型,即Base。如下图所示。
在这里插入图片描述

virtual ~Base();

基类Base析构函数,加上virtual后,正调用子类的析构函数。
在这里插入图片描述

纯虚析构函数

纯虚析构函数在 c++中是合法的,但是在使用的时候有一个额外的限制:必须为纯
虚析构函数提供一个函数体。 那么问题是:如果给虚析构函数提供函数体了,那
怎么还能称作纯虚析构函数呢? 纯虚析构函数和非纯析构函数之间唯一的不同之
处在于纯虚析构函数使得基类是抽象类,不能创建基类的对象。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/414733.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

银河麒麟v10-sp3 安装Tomcat10最新版

tomcat官方地址---Apache Tomcat - Apache Tomcat 10 Software Downloads 下载这个即可 Core&#xff1a; 含义&#xff1a;Core代表Tomcat的核心程序&#xff0c;即Tomcat的正式二进制发布版本。这是大多数用户做开发或学习时应该下载的版本。用途&#xff1a;包含了Tomcat服…

mysql的半同步模式

1.半同步模式原理 mysql的主备库通过binlog日志保持一致&#xff0c;主库本地执行完事务&#xff0c;binlog日志落盘后即返回给用户&#xff1b;备库通过拉取主库binlog日志来同步主库的操作。默认情况下&#xff0c;主库与备库并没有严格的同步&#xff0c;因此存在一定的概率…

Python 生成随机的国内 ip

示例代码&#xff1a; import randomdef generate_random_cn_ip():# 中国大陆IP范围start_ip "36.54.0.0"end_ip "123.255.255.254"# 将IP地址转换为整数start_ip_num int(start_ip.replace(".", ""))end_ip_num int(end_ip.rep…

Python日志重复?这里有终极解决方案!

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 日志重复的常见原因📝 解决重复日志的策略📝 具体示例📝 日志重复问题的其他解决办法⚓️ 相关链接 ⚓️📖 介绍 📖 你是否曾经在调试Python程序时,发现同样的日志信息出现了两次甚至更多?这不仅…

前端框架vue3中的条件渲染(v-show,v-if,v-else-if,v-else)

目录 v-show: 需求&#xff1a; v-if 区别与v-show&#xff1a; v-if和v-show的选择&#xff1a; v-else-if和v-else 联合使用&#xff1a; v-show: 部分代码如图&#xff1a; <body><div id"root"><div ><h1>n的值为{{n}}</h1>…

新学期第一课

文章目录 一、加入课程QQ群&#xff08;一&#xff09;班级QQ群&#xff08;二&#xff09;入群要求 二、加入学习通班级群&#xff08;一&#xff09;学习通班级群&#xff08;二&#xff09;手势签到 三、使用思维导图工具&#xff08;一&#xff09;安装XMind&#xff08;二…

【QT | 开发环境搭建】Linux系统(Ubuntu 18.04) 安装 QT 5.12.12 开发环境

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-08-29 …

Kotaemon:开源的RAG UI

检索增强生成 (RAG) 已成为一种改变游戏规则的方法&#xff0c;可增强大型语言模型的功能。Kotaemon 是由 Cinnamon 开发的开源项目&#xff0c;它站在这项创新的最前沿&#xff0c;提供了一个简洁、可定制且功能丰富的基于 RAG 的用户界面&#xff0c;用于与文档聊天。 Kotae…

史记——我与历史的缘妙

究天人之际&#xff0c;通古今之变&#xff0c;成一家之言。 注解&#xff1a;这句话出自司马迁《史记》之《报任安书》。意思是通过“史实”现象揭示本质,探究自然现象和人类社会之间的相依相对关系。通晓从古到今的社会的各种发展演变,进而寻找历代王朝兴衰成败之道理。通过…

Mysql剖析(三)----MySql的事务详解

事务&#xff08;Transaction&#xff09;&#xff1a;一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中的各种数据项的一个程序执行单元&#xff08;unit&#xff09;。事务通常由高级数据库操纵语言或编程语言(如SQL、C或Java)书写的用户程序的执行所引…

设施农业气象站

设施农业气象站的主要作用是为农业生产提供准确的气象数据和预测信息&#xff0c;以帮助农民科学决策和管理农业生产活动。具体作用包括&#xff1a; 提供准确的气象数据&#xff1a;设施农业气象站可以收集并记录气温、湿度、风速、降水量等多种气象信息&#xff0c;并确保数据…

探索存储世界:TF卡与SD卡的奥秘

在这个数字化时代&#xff0c;数据存储变得至关重要。TF卡&#xff08;TransFlash卡&#xff09;和SD卡&#xff08;Secure Digital卡&#xff09;作为两种常见的存储介质&#xff0c;它们在我们的日常生活中扮演着重要角色。MK米客方德将带您深入了解TF卡的基本概念&#xff0…

Python全网最全基础课程笔记-(一)基础入门

本专栏系列为Pythong基础系列&#xff0c;每天都会更新新的内容&#xff0c;搜罗全网资源以及自己在学习和工作过程中的一些总结&#xff0c;可以说是非常详细和全面。 以至于为什么要写的这么详细&#xff1a;自己也是学过Python的&#xff0c;很多新手只是简单的过一篇语法&a…

如何从 AWS CodeCommit 迁移到极狐GitLab?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;可以私有化部署&#xff0c;对中文的支持非常友好&#xff0c;是专为中国程序员和企业推出的企业级一体化 DevOps 平台&#xff0c;一键就能安装成功。安装详情可以查看官网指南。 本文将分享如何从 AWS CodeCommit 服务无缝迁…

Gartner首次发布AI代码助手魔力象限,阿里云进入挑战者象限,通义灵码产品能力全面领先

8月29日消息&#xff0c;国际市场研究机构Gartner发布业界首个AI代码助手魔力象限&#xff0c;全球共12家企业入围&#xff0c;阿里云成为唯一进入挑战者象限的中国科技公司。通义灵码在产品功能和市场应用等方面表现优秀&#xff0c;获得权威机构认可。 该报告从技术创新性、产…

webpack--处理资源

在webpack.config.js中进行配置 const path require(path) module.exports {// 入口entry: ./src/main.js,// 输出output: {// 文件的输出路径path: path.resolve(__dirname, dist),// 入口文件打包输出的文件名filename: js/main.js,// 自动清空上次打包结果 原理&#xff…

Vidda电视X Ultra等加入能效补贴,京东天猫可买量大管饱

近日&#xff0c;“能效补贴”成为热门话题。打算给家里更换一台大电视的朋友要留意了&#xff0c;Vidda旗下多款巨屏电视都已支持此次补贴政策&#xff0c;京东和天猫均可下单享受补贴。 据「TMT星球」了解&#xff0c;Vidda是海信旗下的年轻科技潮牌&#xff0c;Vidda电视一…

BugKu练习记录:小山丘的秘密

题目&#xff1a; hill能有什么秘密呢 bugku{PLGTGBQHM} 其中A1&#xff0c;flag全为小写hill解密&#xff0c;a1&#xff0c;所以z0&#xff0c;字母表为zabcdefghijklmnopqrstuvwxy&#xff0c;根据图片上的棋子数得到对应的字母&#xff0c;分别是abczadefz&#xff0c;用工…

驱动开发系列14 - Linux Graphics Wayland 详解

目录 一:概述 二:操作系统如何支持 Wayland 三:显卡驱动如何支持 Wayland 四:Wayland 协议介绍 一:概述 Wayland 是一种通信协议,规定了显示服务器与其客户端之间的通信,以及该协议的 C 语言库实现。使用 Wayland 协议的显示服务器称为 Wayland 合成器,因…

Vue的冷门内置指令:优化与性能提升的利器

在Vue.js的广阔生态中&#xff0c;开发者们常常聚焦于那些耳熟能详的内置指令&#xff0c;如v-for用于循环渲染列表&#xff0c;v-if和v-else-if用于条件渲染等。然而&#xff0c;Vue还提供了一系列较为冷门但功能强大的内置指令&#xff0c;它们在某些特定场景下能够显著提升应…