c++ 纯虚函数、抽象类

news2024/11/26 22:27:33

一、 纯虚函数

抽象类

只要有一个纯虚函数,这个类称为抽象类
 抽象类的特点
 1、无法实例化
 2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类

例子一

#include <iostream>
#include <string.h>
using namespace std;
class Base
{
	//纯虚函数
	//只要有一个纯虚函数,这个类称为抽象类
	//抽象类的特点
	//1、无法实例化
	//2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类
	virtual void func() = 0;//储蓄函数
	/*virtual void func()	//普通的虚函数
	{
	}*/

};
class Son : public Base
{
public:

};
void func()
{
	//Base b;//err 抽象类无法实例化对象
	//new Base;//err 抽象类无法实例化对象
	//Son s;//err 子类必须重写父类中的存续函数,否则无法实例化
}
void main()
{




}

例子二

#include <iostream>
#include <string.h>
using namespace std;
class Base
{
	//纯虚函数
	//只要有一个纯虚函数,这个类称为抽象类
	//抽象类的特点
	//1、无法实例化
	//2、抽象类的子类,必须要重写父类中的纯虚函数,否者也属于抽象类
public:
	virtual void func() = 0;//储蓄函数
	/*virtual void func()	//普通的虚函数
	{
	}*/

};
class Son : public Base
{
public:
	virtual void func()
	{
		cout << "Son func被调用" << endl;
	}

};
void func()
{
	//Base b;//err 抽象类无法实例化对象
	//new Base;//err 抽象类无法实例化对象
	//Son s;//err 子类必须重写父类中的存续函数,否则无法实例化

	Base* b = new Son;
	b->func();
}
void main()
{
	func();



}

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

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

相关文章

正确设置PyTorch训练时使用的GPU资源

背景&#xff1a; 最近在使用Hugging Face的transformers api来进行预训练大模型的微调&#xff0c;机器是8卡的GPU&#xff0c;当我调用trainer.train()之后&#xff0c;发现8个GPU都被使用了&#xff0c;因为这个机器上面还有其他人跑的模型&#xff0c;当我进行训练的时候&…

Python 爬虫实战之爬淘宝商品并做数据分析

前言 是这样的&#xff0c;之前接了一个金主的单子&#xff0c;他想在淘宝开个小鱼零食的网店&#xff0c;想对目前这个市场上的商品做一些分析&#xff0c;本来手动去做统计和分析也是可以的&#xff0c;这些信息都是对外展示的&#xff0c;只是手动比较麻烦&#xff0c;所以…

服务器新建FTP文件备份的地址

步骤1&#xff1a;远程桌面连接 步骤2&#xff1a;输入服务器地址&#xff0c;账号&#xff0c;密码 服务器地址&#xff1a;IP地址 账号&#xff1a;Administrator 密码&#xff1a;123456 步骤3&#xff1a;点击这个一个小人的图标 步骤4&#xff1a;General–>Add–&g…

C++ RAII在HotSpot VM中的重要应用

RAII&#xff08;Resource Acquisition Is Initialization&#xff09;&#xff0c;也称为“资源获取就是初始化”&#xff0c;是C语言的一种管理资源、避免泄漏的惯用法。C标准保证任何情况下&#xff0c;已构造的对象最终会销毁&#xff0c;即它的析构函数最终会被调用。简单…

实操技巧:私域+公域=全渠道获客

引流是所有企业都要做的事情。在公域流量平台中不管是线上或线下&#xff0c;获客的成本是越来越高&#xff0c;所以很多企业都要在布局私域&#xff0c;但如果不懂私域运营的逻辑&#xff0c;同样也面临着获客难引流难的问题和获客成本高的问题。 . 今天给大家汇总了私域和公域…

MES管理系统对印刷企业来说有什么优点

在当今高度信息化的时代&#xff0c;许多企业&#xff0c;包括印刷企业&#xff0c;正在寻求更有效地管理其生产过程和运营的方式。在这种情况下&#xff0c;印刷企业MES管理系统成为了他们的首选。印刷企业MES系统在提升企业运营效率、优化生产过程、提升产品质量以及加强供应…

如何向PDB文件添加双键

在用PDB文件进行分子绘图的时候&#xff08;制作OBJ&#xff09;&#xff0c;发现像Atomic blender插件和PDB本身并不支持双键&#xff0c;需要对PDB文件进行修改&#xff0c;参照的该yt链接https://www.youtube.com/watch?vYNoow7qkwFA&t364s&ab_channelEdvinFako 即…

Java乐观锁的实现

乐观锁是一种用于解决并发冲突的机制&#xff0c;它基于假设在大多数情况下没有并发冲突的原则。与悲观锁不同&#xff0c;乐观锁不会对数据加锁&#xff0c;而是通过一定的方式来检测并处理并发冲突。 在实现乐观锁时&#xff0c;通常会使用版本号或时间戳作为标识。当多个线程…

电子科大软件系统架构设计——系统需求分析

文章目录 系统需求分析需求采集研究现有文档与系统组织机构图系统规划文档工作规范文档业务单据报表问题描述文档领域专业知识现有相关软件系统 与客户及相关人员进行面谈正式面谈非正式面谈典型访谈问题优缺点 问卷调查法调查表问卷设计问卷调查表应用方式 观察法头脑风暴法原…

【Spring Boot】拦截器学习笔记

一、普通拦截器 1&#xff0c;新建类MyWebConfig实现WebMvcConfigurer&#xff0c;实现addInterceptors方法 Overridepublic void addInterceptors(InterceptorRegistry registry) {registry// 不拦截哪些请求.excludePathPatterns("/login")// 拦截哪些请求.addPat…

Langchain 大型复杂结构文档解析-识别目录和页码

简介 在文档处理时&#xff0c;尤其是大型复杂结构的文档时&#xff0c;按照字数进行分割&#xff0c;总会造成文本段的割裂&#xff0c;导致召回准确率降低 如果能精确的找到文档大纲和目录&#xff0c;从而按照文档的目录的大纲进行处理&#xff0c;则会提升更多的召回准确…

构建工具Webpack简介

一、构建工具 当我们习惯了Node中使用ES模块化编写代码以后&#xff0c;用原生的HTML、CSS、JS这些东西会感觉到各种不便。比如&#xff1a;不能放心的使用模块化规范&#xff08;浏览器兼容性问题&#xff09;、即使可以使用模块化规范也会面临模块过多时的加载问题。 这时候…

小谈设计模式(5)—开放封闭原则

小谈设计模式&#xff08;5&#xff09;—开放封闭原则 专栏介绍专栏地址专栏介绍 开放封闭原则核心思想关键词概括扩展封闭 解释抽象和接口多态 代码示例代码解释 优缺点优点可扩展性可维护性可复用性高内聚低耦合 缺点抽象设计的复杂性需要预留扩展点可能引入过度设计 总结 专…

滚雪球学Java(39):学会Java异常处理,让你的程序健壮无比

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

机器视觉-标定篇

3D结构光标定 结构光视觉的优点&#xff1a; 非接触、信息量大、测精度高、抗干扰能力强。 结构光视觉传感器参数的标定包括&#xff1a;摄像机参数标定、结构光平面参数标定。 结构光视觉测量原理图 我们不考虑镜头的畸变&#xff0c;将相机的成像模型简化为小孔成像模型…

html中图片、音乐、视频标签及选择器、背景

目录 图片 音乐 视频 子代选择器 交集选择器 背景 文章主要补充之前html文章一些漏洞&#xff1a;HTML常用标签表格表单_小俱的一步步的博客-CSDN博客 在VScode中新创建html文件&#xff0c;&#xff01;“Tab”键&#xff0c;自动生成html骨架 图片 <img src"…

Android T 禁止应用添加窗口的操作

序 什么情况下会出现我们需要禁止应用添加窗口的情况呢&#xff1f; 假如有一个应用的窗口&#xff0c;我们点开后是透明的或者会影响到系统的使用&#xff0c;那么我们就有必要对这个窗口操作一下 回顾我们在Android T WMS窗口相关流程中所讲的内容 禁止应用添加窗口的操作…

leetcode题目分析(一)leetcode155最小栈

一、前言 本题基于leetcode155最小栈这道题&#xff0c;说一下通过java解决的一些方法。 需要尤其注意的是&#xff0c;此题输入的值的区间范围在-2^31 < val < 2^31 - 1.这将会影响我们最后一种最优解的结果出现问题。这些都是后话。 二、解决思路 其实在一开始的提交…

vue-cli vue3

安装 cli npm i -g vue/cli4.5.13查看版本&#xff1a;vue -V升级版本&#xff1a;npm update -g vue/cli 升级 在 v 3.0.0 版本中是不支持的最新的 script setup 语法执行指令升级&#xff1a; npm i vue3.2.8 vue-router4.0.11 vuex4.0.2 "vue": "^3.2.8&q…

方案:AI赋能,森林防火可视化智能监管与风险预警系统解决方案

一、方案背景 森林火灾是世界八大自然灾害之一&#xff0c;具有发生面广、突发性强、破坏性大、危险性高、处置扑救特别困难等特点&#xff0c;严重危及人民生命财产和森林资源安全&#xff0c;甚至引发生态灾难。有效预防和及时控制森林火灾是保护国家生态建设成果、推进生态…