首页 > 编程语言 >C++ 虚析构函数简单测试

C++ 虚析构函数简单测试

时间:2024-09-11 18:52:01浏览次数:10  
标签:函数 Derived C++ 虚析构 Base virtual 测试 成纯 cout

class Base {
public:
    virtual ~Base() { cout << "~Base" << '\n'; }
};

class Derived : public Base {
public:
    ~Derived() { cout << "~Derived" << '\n'; }
};

int main()
{
    {
        Base* b = new Derived;
        delete b;
    }

    system("pause");
    return EXIT_SUCCESS;
}

析构顺序输出:

~Derived
~Base

如果,把基类的析构函数设置成纯虚函数,也必须要定义,不然编译不过,只定义派生类的函数时不行的。
将析构函数设置成纯虚,目的可能是不能让类实例的作用。

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

Base::~Base() { cout << "~Base" << '\n'; } // 必须要定义,不然编译不过。

class Derived : public Base
{
public:
    ~Derived() { cout << "~Derived" << '\n'; }
};

输出:

~Derived
~Base

标签:函数,Derived,C++,虚析构,Base,virtual,测试,成纯,cout
From: https://www.cnblogs.com/huvjie/p/18408739

相关文章

  • 【C++】vector常见用法
    ......
  • C++:类与对象——详解多态原理、虚函数和抽象类
    1.多态基本内容C++中的多态是面向对象编程的一个重要特性,指的是同一个函数或对象在不同的情况下可以表现出不同的行为。多态通常通过继承和虚函数来实现。它分为两种类型:编译时多态(静态多态)和运行时多态(动态多态)。多态分为两类:静态多态:函数重载和运算符重载属于静态......
  • 南沙C++信奥老师解一本通题: 1315:【例4.5】集合的划分
    ​ 【题目描述】【输入】给出n和k。【输出】n个元素a1,a2,……,an放入k个无标号盒子中去的划分数S(n,k)。【输入样例】106 【输出样例】22827 #include<iostream>usingnamespacestd;longlongSplit(intn,intplate)//等同于n个不同的数......
  • C++模拟实现stack和queue(容器适配器)
    适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。简单理解,将模板参数给成容器,就是容器适配器,写成参数的容器的各种接口,均满足需要。#include<list>#includ......
  • Rickdiculously Easy靶场渗透测试
    靶机下载地址https://www.vulnhub.com/entry/rickdiculouslyeasy-1,207/一.信息收集1.端口扫描nmap172.16.1.20-p--sV 发现还扫描出一个flag2.目录扫描二.获取shell和提权1、访问靶机IP地址2、拼接并访问robots.txt文件3、逐个访问,发现cgi-bin/tracertool......
  • 软件测试学习笔记丨Docker 安装、管理、搭建服务
    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32192容器(Docker)技术的价值保证环境一致性,只要使用相同镜像部署就可以保证一致性。轻量级虚拟化访问,运行更快,资源更小。同时也可以荣期间的隔离性。封装部署的负载型,云原生与微服务的首选技术方案。未来测试人员必学的技术......
  • 走进C++——初识与探索
    一.C++发展历史  C++的起源可以追溯到1979年,当时BjarneStroustrup(本贾尼·斯特劳斯特卢普)在⻉尔实验室从事计算机科学和软件⼯程的研究⼯作。⾯对项⽬中复杂的软件开发任务,特别是模拟和操作系统的开发⼯作,他感受到了现有语⾔(如C语⾔)在表达能⼒、可维护性和可扩展性......
  • C++ 类继承
    一、继承1.继承的概念和意义继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,产生新的类,称子类。例如下面的Student类和Teacher类,它们都有人名,性别,电话,年龄,住址等信息。不同的是Student类有学号之分,而老师有职称之......
  • 中国电科网安校园招聘:C++工程师
      本文介绍2024届秋招中,中国电子科技网络信息安全有限公司的C/C++开发工程师岗位一面的面试基本情况、提问问题等。  2024年10月投递了中国电子科技网络信息安全有限公司的C/C++开发工程师岗位,并不清楚所在的部门。目前完成了一面,在这里记录一下一面经历。  这一次面试面......
  • 实战千问2大模型第三天——Qwen2-VL-7B(多模态)视频检测和批处理代码测试
    画面描述:这个视频中,一位穿着蓝色西装的女性站在室内,背景中可以看到一些装饰品和植物。她双手交叉放在身前,面带微笑,似乎在进行一场演讲或主持活动。她的服装整洁,显得非常专业和自信。一、简介阿里通义千问开源新一代视觉语言模型Qwen2-VL。其中,Qwen2-VL-72B在大部分指标上都......