虚析构与纯虚析构

这里的new Cat("Tom")是由于基类函数中的构造函数里面带有string变量

   1. 法一:利用虚函数,虚化基类中的析构函数
    virtual ~Animal()
    {
        cout << "动物的析构函数调用" << endl;
    }

2.    法二:利用纯虚函数,但要在类外有具体的函数实现,且无法实例化对象

#include<iostream>
using namespace std;
#include<string.h>class Animal
{
public:Animal(){cout << "动物的构造函数调用" << endl;}virtual void func(){cout << "动物在说话" << endl;}//法一:利用虚函数,虚化基类中的析构函数//virtual ~Animal()//{//	cout << "动物的析构函数调用" << endl;//}//法二:利用纯虚函数,但要在类外有具体的函数实现,且无法实例化对象virtual~Animal() = 0;
};Animal::~Animal()
{cout << "动物的析构函数调用" << endl;
}class Cat :public Animal
{
public:Cat(string name){m_Name = new string(name);cout << "小猫的构造函数调用" << endl;}void func(){cout <<*m_Name<< "小猫在说话" << endl;}~Cat(){cout << "cat的析构函数调用" << endl;}string* m_Name;
};void doWork(Animal* animal)
{animal->func();//如果父类中没有使用virtual来虚化析构,使地址不能晚绑定,此时的析构函数只会调用Anima类中的delete animal;//下面这个是引用的方式/*animal.func();*/
}void test01()
{Animal* cat = new Cat("Tom");doWork(cat);//Cat cat;//doWork(cat);
}int main()
{test01();
}

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

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

相关文章

188页 | 2023企业数字化转型建设方案(数据中台、业务中台、AI中台)(免费下载)

1、知识星球下载&#xff1a; 如需下载完整PPTX可编辑源文件&#xff0c;请前往星球获取&#xff1a;https://t.zsxq.com/19KcxSeyA 2、免费领取步骤&#xff1a; 【1】关注公众号 方案驿站 【2】私信发送 2023企业数字化转型建设方案 【3】获取本方案PDF下载链接&#xff0…

文件分块+断点续传 实现大文件上传全栈解决方案(前端+nodejs)

1. 文件分块 将大文件切分成较小的片段&#xff08;通常称为分片或块&#xff09;&#xff0c;然后逐个上传这些分片。这种方法可以提高上传的稳定性&#xff0c;因为如果某个分片上传失败&#xff0c;只需要重新上传该分片而不需要重新上传整个文件。同时&#xff0c;分片上传…

可以在手机端运行的大模型标杆:微软发布第三代Phi-3系列模型,评测结果超过同等参数规模水平,包含三个版本,最小38亿,最高140亿参数

本文原文来自DataLearnerAI官方网站&#xff1a; 可以在手机端运行的大模型标杆&#xff1a;微软发布第三代Phi-3系列模型&#xff0c;评测结果超过同等参数规模水平&#xff0c;包含三个版本&#xff0c;最小38亿&#xff0c;最高140亿参数 | 数据学习者官方网站(Datalearner…

Amazon云计算AWS之[5]关系数据库服务RDS

文章目录 RDS的基本原理主从备份和下读写分离 RDS的使用 RDS的基本原理 Amazon RDS(Amazon Relational Database Service) 将MySQL数据库移植到集群中&#xff0c;在一定的范围内解决了关系数据库的可扩展性问题。 MySQL集群方式采用Share-Nothing架构。每台数据库服务器都是…

Kimichat使用技巧:方便又实用的kimi+智能体

今天kimi智能助手推出了kimi的功能。简单的说&#xff0c;就是一系列kimi已经写好的提示词&#xff0c;用户可以直接调用、对话。 Kimi分为官方推荐、办公提效、辅助写作、社交娱乐、生活实用这几类。可以从左边侧边栏点击进入。 官方推荐的有&#xff1a; Kimi 001号小客服&…

final、finally、finalize有什么区别?

引言 在Java编程语言中&#xff0c;final、finally和finalize是三个具有不同用途和语义的关键字或方法。它们在编程和面试中经常被提及&#xff0c;因此理解它们之间的区别是非常重要的。 题目 final、finally、 finalize有什么区别&#xff1f; 典型回答 final&#xff1…

开源AI智能名片商城小程序:深度解读IMC(IP、MarTech、Content)视角

在数字化浪潮中&#xff0c;私域流量的运营已成为企业不可或缺的增长引擎。而开源AI智能名片商城小程序&#xff0c;则是以一种全新的视角——IMC&#xff08;IP、MarTech、Content&#xff09;&#xff0c;为企业打开私域流量运营的新篇章。今天&#xff0c;我们就来一起深入解…

第1篇:创建Platform Designer系统

Q&#xff1a;本期我们开始使用Platform Designer工具创建带IP核的FPGA自定义硬件系统。 A&#xff1a;Platform Designer是集成在Quartus软件里的系统设计工具&#xff0c;名称随着Quartus的不断更新曾命名为SOPC Builder和Qsys。 使用Platform Designer可以添加Quartus已有自…

epub可以转换为mobi吗?epub转换mobi在线转换,5款工具分享!

在数字化时代&#xff0c;电子书格式多样&#xff0c;每种格式都有其独特的特点和适用场景。其中&#xff0c;EPUB和MOBI是两种非常流行的电子书格式。然而&#xff0c;有时候&#xff0c;用户可能会因为某种需求或限制&#xff0c;希望将EPUB格式的文件转换为MOBI格式。这时&a…

【大语言模型LLM】-基于ChatGPT搭建客服助手(1)

&#x1f525;博客主页&#xff1a;西瓜WiFi &#x1f3a5;系列专栏&#xff1a;《大语言模型》 很多非常有趣的模型&#xff0c;值得收藏&#xff0c;满足大家的收集癖&#xff01; 如果觉得有用&#xff0c;请三连&#x1f44d;⭐❤️&#xff0c;谢谢&#xff01; 长期不…

刷题训练之前缀和

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练掌握前缀和算法。 > 毒鸡汤&#xff1a;学习&#xff0c;学习&#xff0c;再学习 ! 学&#xff0c;然后知不足。 > 专栏选自&#xff1a;刷题…

商务邮箱意义解读:探讨商务邮箱的双重功能与实际应用

商务邮箱是以企业自己的域名为后缀的信箱&#xff0c;例如&#xff1a;name企业域名。拥有商务邮箱可以为自己的员工设置电子邮箱。 企业可以根据需要设置不同的管理权限&#xff0c;以及部门成员之间或者公司全体员工之间的群发功能等等。 哪些企业需要购买商务邮箱&#xf…