抽象类与纯虚函数的具体应用

news2025/6/20 21:00:27

运行代码:

//定义一个带有一个纯虚函数pvf()的B2类
//定义D21类,包含一个string数据成员和一个覆盖pvf()的成员函数,D21::pfv()输出string数据成员的值
//定义D22类,它与D21类一样,只是数据成员为int类型
//定义函数f(),接受一个B2&参数,并对此参数调用pvf()函数
//使用D21对象和D22对象调用f()
#include"std_lib_facilities.h"
//----------------------------------------------------------------------
//定义B2类
class B2
{
public:
	virtual void pvf() = 0;
};
//----------------------------------------------------------------------
//定义D21类
class D21 :public B2
{
public:
	void pvf() { cout << s21<<'\n'; }
	void set_string(string ss) { s21 = ss; }
private:
	string s21;
};
//---------------------------------------------------------------------
//定义D22类
class D22 :public B2
{
public:
	void pvf() { cout << i22<<'\n'; }
	void set_int(int ii) { i22 = ii; }
private:
	int i22;
};
//--------------------------------------------------------------------
//定义函数f()
void f(B2& b2)
{
	b2.pvf();
}
//---------------------------------------------------------------------
int main()
try{
	D21 d21;
	d21.set_string("abdc");
	f(d21);
	D22 d22;
	d22.set_int(234);
	f(d22);
}
catch (exception& e) {
	cerr << "error:" << e.what() << '\n';
	keep_window_open();
	return 1;
}
catch (...) {
	cerr << "Oops:unknown exception!\n";
	keep_window_open();
	return 2;
}
//-----------------------------------------------------------------------

运行结果:

 

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

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

相关文章

数据库应用:MySQL数据库SQL高级语句与操作

目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 二、实验 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 三、总结 一、理论 1.克隆表与清空表 克隆表&#xff1a;将数据表的数据记录生成到新的表中。 &#xff08;1&#xff0…

【算法集训之线性表篇】Day 04

文章目录 题目一分析思路一思路二 代码实现效果题目二分析代码实现效果 题目一 从有序顺序表中删除所有其值重复的元素&#xff0c;使所有元素的值都不相同。 分析 思路一 首先&#xff0c;在有序顺序表中&#xff0c;所有值重复的元素相邻。为此&#xff0c;我们只需顺序访…

如何批量复制淘宝商品上传上架到虾皮 shopee (轻松学会宝贝复制技巧)

今天&#xff0c;入驻虾皮的商家越来越多&#xff0c;且很多的 shopee 店主在国内都开了淘宝店&#xff0c;当 shopee 店铺入驻成功后&#xff0c;想把淘宝店铺的商品搬到 shopee&#xff0c;怎么搬呐&#xff1f; 方法 / 步骤 方法1&#xff1a;整理你想要采集的店铺首页链接…

MySQl数据库第六课-------SQl命令的延续------快来看看

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com ———————————————————————————————— 目录 SQl语句 数据库操作 数据表操作 SQL增删 ———————————————————————————— 插播小知识 1…

stm32(独立看门狗和窗口看门狗)

独立看门狗介绍 什么是看门狗&#xff1f; 在由单片机构成的微型计算机系统中&#xff0c;由于单片机的工作常常会受到来自外界电磁场的干扰&#xff0c;造 成程序的跑飞&#xff0c;而陷入死循环&#xff0c;程序的正常运行被打断&#xff0c;由单片机控制的系统无法继续工作…

setTimeout

Promise延时的几种表述方法 第一种 var pdocument.getElementById("demo"); async function myFunction(){await new Promise(function(resolve){setTimeout(function(){p.innerHTML"延时成功";resolve();},1000);}); } myFunction();第二种 var pdocum…

完了完了完了!线上发生 OOM 了!

现象 线上某个服务有接口非常慢&#xff0c;通过监控链路查看发现&#xff0c;中间的 GAP 时间非常大&#xff0c;实际接口并没有消耗很多时间&#xff0c;并且在那段时间里有很多这样的请求。 原因分析 先从监控链路分析了一波&#xff0c;发现请求是已经打到服务上了&#…

ViperGPT解析:结合视觉输入与文本查询生成和执行程序

ViperGPT&#xff1a;结合视觉输入与文本查询生成和执行程序 ViperGPT 是一个混合视觉和语言处理模型&#xff0c;旨在解决视觉查询问题。这种问题需要视觉处理和推理能力的结合&#xff0c;ViperGPT通过利用代码生成模型&#xff0c;将视觉和语言模型组合成子例程&#xff0c…

【Java】弄清多态,看这一篇就够了|由浅入深,保姆级详解

博主简介&#xff1a;努力学习的预备程序媛一枚~博主主页&#xff1a; 是瑶瑶子啦所属专栏: Java岛冒险记【从小白到大佬之路】 前言 在上篇【Java】还不理解继承&#xff1f;一篇文章看懂继承|继承入门&#xff0c;我们了解了继承的概念、如何时两个类建立继承关系is-a、以及…

AndroidUI绘制流程

Android源码阅读 UI绘制流程 环境 Java 11android 11 由于学习的课程api 不一致 导致源码有些关键方法无法进入仔细阅读 采用截图的方式理解思路 view添加到窗口 进入到源码中可以发现 &#xff0c;每个activity 默认生成的代码中都会有一个setContentView方法&#xff0c…

Python采集课堂视频教程, m3u8视频解密

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用&#xff1a; requests >>> pip install requests pycryptodome --> pip install pycryptodome re 第三方模块安装方法&#xff1a; win R 输…

SpringBoot+MinIO实现minio部署和使用

Minio是一个go编写基于Apache License v2.0开源协议的对象存储系统,是为海量数据存储、人工智能、大数据分析而设计&#xff0c;它完全兼容Amazon S3接口&#xff0c;十分符合存储大容量的非结构化数据从几十kb到最大5T不等。是一个小而美的开源分布式存储软件。 特点 简单、可…

windows系统下载大白菜制作iso镜像文件

背景 1. ventory制作了U盘启动盘&#xff0c;ventory只能加载iso文件&#xff0c; 我们有些操作需要进入到winpe系统进行操作&#xff0c;故需要制作大白菜pe的iso文件 操作步骤 下载大白菜 大白菜u盘启动盘制作工具_大白菜u盘装系统_大白菜pe_大白菜官网-首页 (windowsrw.…

一个判断 I2C 总线通信异常原因的方法

一个判断 I2C 总线通信异常原因的方法 参考链接 【经验分享】一个判断 I2C 总线通信异常原因的方法 (stmicroelectronics.cn)https://shequ.stmicroelectronics.cn/thread-633302-1-1.html 至于如何在i2c总线中如何使用还没有弄明白。后续再看。 使用方法记录 阻值分配 图中…

Confidence Regularized Self-Training 阅读笔记

Confidence Regularized Self-Training 领域自适应研究的最新进展表明&#xff0c;深度自训练是实现无监督领域自适应的有效手段。这些方法通常涉及到一个迭代过程&#xff0c;即在目标域上进行预测&#xff0c;然后将自信的预测作为伪标签进行再训练。然而&#xff0c;由于伪…

泛微打造国资委国企双端的监管平台,数据互联,动态管理

数字政府和数字监管成为趋势。数字化方式能够助力完善国有资产管理体制&#xff0c;促进国有资产保值增值&#xff0c;推动国有资本做强做优做大&#xff0c;有效防止国有资产流失。 国资监管过程中存在着诸多挑战 监管企业众多&#xff0c;需要建立不同的管理模式。既要发挥…

C/C++库函数之——str类和mem篇(常用速学)

目录 一&#xff0c;str类 1&#xff09;strlen 2&#xff09;strcpy 3&#xff09;strcmp 4&#xff09;strcat 5&#xff09;strstr 二&#xff0c;mem类函数 1&#xff09;memcpy 2&#xff09;memmove 一&#xff0c;str类 1&#xff09;strlen 用途&#xff1a…

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算?

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系&#xff0c;多少钱一套预算&#xff1f; 一&#xff1a;光伏5G多合一融合终端的功能 光伏5G多合一融合终端的功能&#xff1a;群调群控/AGC/AVC功…

[MMDetection]生成测试集预测的test.bbox.json文件

基于MMdetection3.10 困扰了大半天的问题&#xff0c;终于解决了。 方法1&#xff1a;定位到configs\_base_\datasets\coco_detection.py 将里面的路径全部换为自己的路径&#xff0c;最重要的是将以下注释取消掉&#xff0c;特别注意以下两个参数 改好的文件示例 # datase…

数据结构 - 线性表(C语言版)

线性表分为顺序表和单链表 线性表的操作主要是查询、插入、删除 1、顺序表 首先&#xff0c;定义一个顺序表的结构体 #define MAX_SIZE 10 typedef struct {int data[MAX_SIZE];int length; }SqList, * PsqList;创建一个线性表 void createSqList(PsqList pSqList) {pSqLis…