斗破C++编程入门系列之三十三:继承与派生:派生类的析构函数(一星斗师)

news2024/9/24 5:20:51

斗破C++目录:

斗破C++编程入门系列之前言(斗之气三段)
斗破C++编程入门系列之二:Qt的使用介绍(斗之气三段)
斗破C++编程入门系列之三:数据结构(斗之气三段)
斗破C++编程入门系列之四:运算符和表达式(斗之气五段)
斗破C++编程入门系列之五:算法的基本控制结构之选择结构(斗之气八段)
斗破C++编程入门系列之六:算法的基本控制结构之循环结构(斗之气八段)
斗破C++编程入门系列之七:自定义数据类型(斗之气八段)
斗破C++编程入门系列之八:函数的定义与调用(斗之气八段)
斗破C++编程入门系列之九:函数重载与模板函数(斗之气九段)
斗破C++编程入门系列之十:类与对象:类的声明、成员的访问控制和对象(二星斗者)
斗破C++编程入门系列之十一:类与对象:构造函数和析构函数(四星斗者)
斗破C++编程入门系列之十二:类与对象:类的组合(五星斗者)
斗破C++编程入门系列之十三:类与对象:类模板(六星斗者)
斗破C++编程入门系列之十四:C++程序设计必知:作用域和可见性(六星斗者)
斗破C++编程入门系列之十五:C++程序设计必知:变量生存期(六星斗者)
斗破C++编程入门系列之十六:C++程序设计必知:类的静态成员(九星斗者)彩蛋)
斗破C++编程入门系列之十七:C++程序设计必知:友元(九星斗者)彩蛋)
斗破C++编程入门系列之十八:C++程序设计必知:常引用、常对象(九星斗者)彩蛋)
斗破C++编程入门系列之十九:C++程序设计必知:多文件结构和编译预处理命令(九星斗者)
斗破C++编程入门系列之二十:数组、指针和字符串:数组的声明和使用(一星斗师)
斗破C++编程入门系列之二十一:数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数(一星斗师)
斗破C++编程入门系列之二十二:数组、指针和字符串:指针变量的声明、地址相关运算–“*”和“&”(一星斗师)
斗破C++编程入门系列之二十三:数组、指针和字符串:指针的赋值和指针运算(一星斗师)
斗破C++编程入门系列之二十四:数组、指针和字符串:指向数组元素的指针和指针数组(一星斗师)
斗破C++编程入门系列之二十五:数组、指针和字符串:指针用作函数参数、指针型函数和函数指针(一星斗师)
斗破C++编程入门系列之二十六:数组、指针和字符串:动态内存分配和释放(一星斗师)
斗破C++编程入门系列之二十七:数组、指针和字符串:string类(一星斗师)
斗破C++编程入门系列之二十八:继承与派生:概念介绍与派生类的声明(一星斗师)
斗破C++编程入门系列之二十九:继承与派生:派生类从基类继承的过程(一星斗师)
斗破C++编程入门系列之三十:继承与派生:派生类对基类成员的访问控制之公有继承(一星斗师)
斗破C++编程入门系列之三十一:继承与派生:派生类对基类成员的访问控制之保护继承与私有继承(一星斗师)
斗破C++编程入门系列之三十二:继承与派生:派生类的构造函数(一星斗师)
斗破C++编程入门系列之三十三:继承与派生:派生类的析构函数(一星斗师)

鸡啄米C++

记住首页不迷路:
http://www.jizhuomi.com/software/129.html

斗破观看顺序:

https://v.haohuitao.cc/yhplay/336-1-2.html
第一季☞第二季前2集☞特别篇1☞第二季3~12集☞特别篇2沙之澜歌☞第三季☞第四季☞三年之约☞缘起☞年番
斗气大陆等级:
斗气有十一个阶别,斗之气,斗者,斗师,大斗师,斗灵,斗王,斗皇,斗宗,斗尊,斗圣,斗帝。
斗气大陆上很久没有出现过斗帝了。

一、解救云芝

萧炎与云芝分开后,云芝很快被蛇人族的五位长老追上,刚开始的时候云芝还处于上风,但是当蛇人族使用五蛇毒刹印召唤出灵蛇,云芝便处于被动,在生死之际,她想到了与萧炎的重遇的点点滴滴。
萧炎也早早地发现了远处的震天的毒印,被二人的爱情打动的药老,决定救下云芝,就这样药老的骨灵冷火正好克制毒蛇,将云芝从死亡的边缘拉了回来。但是萧炎最后还是隐瞒了自己的身份,他应该是想用自己的方式与云芝再见吧。
云芝望着药岩远去的方向,等着那个男人再次出现在她面前,可那时的药岩亦是赴三年之约的萧炎了,有时候相遇是缘分,亦是劫数。这世上有命中注定,就有在劫难逃,当这两者出现在同一人身上时,那个人,既是你命中注定的缘分,亦是你躲不过的劫数。

二、C++:派生类的析构函数(一星斗师)

派生类的析构,与构造时的顺序正好相反,即先执行子类的析构函数,再执行父类的析构函数。
提个问题:大家可能会问为什么父类的也会被析构?
回答:子类都有自己独一无二的父类,所以子类析构,父类不析构,就会造成内存的泄露。这和我们现实生活中所理解的一个父亲有多个孩子是不同的。代码中子类继承父类,其实是复用了父类的代码,所以子类释放时也要释放父类的代码。
来看代码,我们定义Queen的析构函数、远古灵蛇的析构函数。

#ifndef QUEEN_H
#define QUEEN_H

#include "ancientsnake.h"
#include "person.h"

//美杜莎女王继承了远古斗技
//美杜莎女王继承了人类的形态
class Queen
 : public AncientSnake
 , public Person<double>
{
public:
    Queen();

//定义析构函数
    ~Queen(){
        qDebug() << "析构Queen";
    }

public:
    //定义与父类相同的成员函数
    void use_ancient_fighting_skill(){
        qDebug() << "使用蛇族远古斗技 升级版本";
    }

public:
    //定义与父类相同的成员变量
    QString name;

public:
    //定义自己的函数
    void use_secret_skill(){
       qDebug() << "使用蛇族秘术";

       //调用远古灵蛇的protected属性函数
       swallow_strange_fire();
    }

};

#endif // QUEEN_H


#ifndef ANCIENTSNAKE_H
#define ANCIENTSNAKE_H

#include <QDebug>


class AncientSnake
{
public:
    AncientSnake();

//析构函数
    ~AncientSnake(){
        qDebug() << "析构AncientSnake";
    }

public:

    void use_ancient_fighting_skill(){
        qDebug() << "使用蛇族远古斗技";
    }

protected:
    void swallow_strange_fire(){
        qDebug() << "吞噬异火";
    }

private:
    void use_ancient_unique_skill(){
        qDebug() << "远古灵蛇独有的秘技";
    }

};

#endif // ANCIENTSNAKE_H


大家执行程序,然后再关闭程序,再看看析构打印的顺序,就能明白了。

三、英语

先来看几个单词:

  • Destructor 析构函数
  • fate 命运

再来看几个句子:

  • He probably(可能) wants(想) to meet(见到) to Yunzhi(云芝)again(再次地) in his own way(用自己的方式), right(对吗)?
  • 他应该是想用自己的方式与云芝再见吧。

in … way 用…的方式。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Trace调测】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 基本概念 Trace调测旨在帮助开发者获取内核的运行流程&#xff0c…

java项目之基于springboot框架开发的景区民宿预约系统的设计与实现(源码+文档)

项目简介 基于springboot框架开发的景区民宿预约系统的设计与实现的主要使用者分为&#xff1a; 管理员的功能有&#xff1a;用户信息的查询管理&#xff0c;可以删除用户信息、修改用户信息、新增用户信息&#xff0c;根据公告信息进行新增、修改、查询操作等等。。 &#x1…

英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design Engineer)

今天小编给大家分享下英伟达NVIDIA近两年数字IC后端笔试真题&#xff08;ASIC Physical Design&#xff09; 请使用OR门和INV反相器来搭建下面所示F逻辑表达式的电路图。 数字IC后端设计如何从零基础快速入门&#xff1f;(内附数字IC后端学习视频&#xff09; 2024届IC秋招兆…

Vue3学习---【API】【从零开始的Vue3学习!!!】

目录 应用实例API app.mount() unmount() 常规API version nextTick() 状态选项API data() 注意&#xff1a; methods() 生命周期选项 beforeCreate()和Created() beforeCreate() created() beforeCreate()和created()的区别 beforeMount()和mounted() beforeM…

统信服务器操作系统【targetcli部署】

targetcli部署方案 文章目录 功能概述功能介绍1.安装targetcli2.targetcli语法及参数说明3.示例1. 配置2.访问功能概述 SCSI 即小型计算机系统接口(Small Computer System Interface;简写:SCSI) iSCSI,internet SCSI 网络磁盘 ,提供一对一的网络存储, 主机A 提供xx存储设…

数据包签名校验的Web安全测试实践

01 测试场景 在金融类的Web安全测试中&#xff0c;经常可以见到Web请求和响应数据包加密和签名保护&#xff0c;由于参数不可见&#xff0c;不能重放请求包&#xff0c;这类应用通常不能直接进行有效的安全测试&#xff0c;爬虫也爬不到数据。 02 解决思路 对于这类应用&am…

内存和管理

在 C 中&#xff0c;对象拷贝时编译器可能会进行一些优化&#xff0c;以提高程序的性能。 一种常见的优化是“返回值优化&#xff08;Return Value Optimization&#xff0c;RVO&#xff09;”和“具名返回值优化&#xff08;Named Return Value Optimization&#xff0c;NRV…

记某学校小程序漏洞挖掘

前言&#xff1a; 遇到一个学校小程序的站点&#xff0c;只在前端登录口做了校验&#xff0c;后端没有任何校验&#xff0c;奇葩弱口令离谱进去&#xff0c;站点里面越权泄露敏感信息&#xff0c;接管账号等漏洞&#xff01;&#xff01;&#xff01; 渗透思路 1.绕过前端 …

【学习笔记】TLS/SSL握手之Records

TLS / SSL会话是由记录&#xff08;Records&#xff09;所组成&#xff0c;有4种records HandshakeAlertChange Cipher SpecApplication DataHandshake和Alert Records被分为子类型&#xff08;Subtypes&#xff09;&#xff1a; Handshake&#xff1a;Client HelloHandshake&a…

新手教学系列——Nginx静态文件访问优化,提升加载速度与用户体验

在构建现代Web应用时,静态文件的优化往往被初学者所忽略。静态文件,包括CSS样式、JavaScript脚本和图片等,是构建用户界面的关键元素。然而,随着应用规模的扩大,静态文件的数量和大小也随之增加,页面加载速度因此可能受到严重影响,进而影响用户体验。为了应对这种情况,…

01——springboot2基础知识

一、springboot的快速入门 springboot的作用&#xff1a;用来简化Spring应用的初始搭建以及开发过程 一、idea创建springboot工程——运行的步骤 选择Spring Initializr进行创建&#xff08;现在基本上没有jdk1.8选了&#xff0c;都是jdk17了&#xff0c;需要的话&#xff0c…

使用四叉树碰撞的游戏 显微镜RPG

实现四叉树碰撞检测 //author bilibili 民用级脑的研发记录 // 开发环境 小熊猫c 2.25.1 raylib 版本 4.5 // 2024-7-14 // AABB 碰撞检测 在拖拽&#xff0c;绘制&#xff0c;放大缩小中 // 2024-7-20 // 直线改每帧打印一个点&#xff0c;生长的直线&#xff0c;直线炮弹 /…

Matplotlib-数据可视化详解

1. 数据可视化简介 可视化介绍 数据可视化是指直观展现数据&#xff0c;它是数据处理过程的一部分。 把数值绘制出来更方便比较。借助数据可视化&#xff0c;能更直观地理解数据&#xff0c;这是直接查看数据表做不到的 数据可视化有助于揭示数据中隐藏的模式&#xff0c;数据…

HDFS分布式文件系统01-HDFS架构与SHELL操作

HDFS分布式文件系统 学习目标第一课时知识点1-文件系统的分类单机文件系统网络文件系统分布式文件系统 知识点2-HDFS架构知识点3-HDFS的特点知识点4-HDFS的文件读写流程知识点5-HDFS的健壮性 第二课时知识点1-HDFS的Shell介绍HDFS Shell的语法格式如下。HDFS Shell客户端命令中…

三篇文章速通JavaSE到SpringBoot框架 上 JavaSE基础语法

文章目录 前置环境变量基本数据类型引用数据类型标识符运算符 流程控制三种基本流程结构 方法方法声明格式方法的调用方式方法的重载方法的重写重载和重写的区别 数组数组的特点 面向对象基本概念类的编写和对象的创建与使用类的编写对象的创建和使用 构造器构造器特点 封装以属…

55 循环神经网络RNN的实现_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录循环神经网络的从零开始实现[**独热编码**]初始化模型参数循环神经网络模型预测[**梯度裁剪**]训练小结练习 循环神经网络的从零开始实现 import math import torch from torch import nn from torch.nn import functional as F from d2l i…

玄机靶场--蚁剑流量

木马的连接密码是多少 黑客执行的第一个命令是什么 id 黑客读取了哪个文件的内容&#xff0c;提交文件绝对路径 /etc/passwd 黑客上传了什么文件到服务器&#xff0c;提交文件名 黑客上传的文件内容是什么 黑客下载了哪个文件&#xff0c;提交文件绝对路径 蚁剑流量特征总结 …

proteus仿真(2)

一&#xff0c;配置编译器 可以在proteus中写stm32的代码&#xff0c;需要先检查是否配置了keil的编译器 选择调试&#xff0c;编译器配置 stm32为ARM版本 51为8051版本 如果已经配置了keil—arm&#xff0c;但是打开没有&#xff0c;可以选择检查当前&#xff0c;刷新一下。 …

【有啥问啥】多臂老虎机(Multi-Armed Bandit,MAB)算法详解

多臂老虎机&#xff08;Multi-Armed Bandit&#xff0c;MAB&#xff09;算法详解 1. 引言 多臂老虎机&#xff08;Multi-Armed Bandit&#xff0c;MAB&#xff09;问题源自概率论和决策论&#xff0c;是一个经典的决策优化问题。最早提出的形式是赌场中的老虎机问题&#xff…

若依vue3.0表格的增删改查文件封装

一、因若依生成的文件没进行封装&#xff0c;维护起来比较麻烦。所以自己简单的进行封装了一下 gitee代码&#xff08;文件&#xff09;地址&#xff1a;https://gitee.com/liu_yu_ting09/ruo_yi.git 二、封装的方法&#xff08;下面绿色按钮进行全局封装一个JeecgListMixin.js…