刷野打怪上王者·C++篇·第18期·抽象类处理

C++控制台RPG小游戏 大学自己研究出来的一个带简单图形的控制台RPG小游戏,包括各种功能。 大学自己研究出来的一个带简单图形的控制台RPG小游戏,包括各种功能。 大学自己研究出来的一个带简单图形的控制台RPG小游戏,包括各种功能。 大学自己研究出来的一个带简单图形的控制台RPG小游戏,包括各种功能。 大学自己研究出来的一个带简单图形的控制台RPG小游戏,包括各种功能。 立即下载

参考链接

RUNOOB.COM

抽象类处理

    如果类中至少一个函数声明为纯虚函数(关于纯虚函数已经在上面介绍过),则这个类就是抽象类。其中,抽象类目的主要是为了给其他类提供一个可以继承适当的基。并且,抽象类不能用来实例对象,只能作为接口使用,否则编译会出错。

#include <iostream>
 
using namespace std;
 
/*几何的基本信息类*/
class cubeInfoClass
{
public:
	cubeInfoClass(int iTmpVar1, int iTmpVar2);
	/*
	virtual int cubeArea()   //虚函数
	{
		cout << "几何的基本信息类" << endl;
		return 1;
	}
	*/
	virtual int cubeArea() = 0;  //纯虚函数
protected:
	int width;
	int length;
};
 
cubeInfoClass::cubeInfoClass(int iTmpVar1, int iTmpVar2)
{
	width = iTmpVar1;
	length = iTmpVar2;
}
 
/*长方形类*/
class rectangleClass: public cubeInfoClass
{
public:
	rectangleClass(int iTmpVar1, int iTmpVar2) :cubeInfoClass(iTmpVar1, iTmpVar2) {}
	int cubeArea()
	{
		cout << "长方形面积" << endl;
		return width * length;
	}
 
};
 
/*正方形类*/
class squareClass : public cubeInfoClass
{
public:
	squareClass(int iTmpVar1, int iTmpVar2) :cubeInfoClass(iTmpVar1, iTmpVar2) {}
	int cubeArea()
	{
		cout << "正方形面积" << endl;
		return width * length;
	}
 
};
 
int main()
{
	cubeInfoClass *cubeInfo;
	rectangleClass rectangle(10, 5);
	squareClass square(5, 5);  //声明并初始化类中成员变量
 
	cubeInfo = &rectangle;       //矩形信息指针指向长方形
	cout << cubeInfo->cubeArea() << endl;
 
 
	cubeInfo = &square;        //矩形信息指针指向正方形
	cout << cubeInfo->cubeArea() << endl;
 
	getchar();
}

运行结果

长方形面积
50
正方形面积
25

更多《计算机视觉与图形学》知识,可关注下方公众号:

 

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容) 内容概要:本文介绍了“两路半桥LLC谐振变换器软开关Simulink仿真”资源包,重点在于基于Simulink平台对两路半桥LLC谐振变换器进行高精度建模与动态仿真,特别考虑了谐振参数不一致及分裂电容等非理想工况对系统性能的影响。该仿真模型不仅涵盖了主电路拓扑、软开关实现机制与谐振网络设计,还深入分析了不同参数配置下系统的启动特性、稳态效率、动态响应及软开关条件的满足情况。通过参数扫描与对比仿真,帮助用户掌握LLC变换器的关键设计要素与优化方法,具备较强的工程指导价值和科研教学意义。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事高频开关电源、新能源变换器、车载充电机等领域的研发工程师和技术人员。; 使用场景及目标:① 掌握两路并联半桥LLC谐振变换器的建模与仿真方法;② 理解软开关技术在提升变换器效率与降低EMI方面的关键作用;③ 分析谐振参数偏差与分裂电容结构对系统均流特性、增益曲线及软开关范围的影响;④ 支持科研项目中的拓扑验证、控制策略开发与故障工况分析; 阅读建议:建议结合Simulink仿真模型与配套说明文档进行学习,重点关注谐振腔参数设置、驱动时序设计及软开关波形观测;可通过调整谐振电感、电容值或引入参数失配,观察系统行为变化,深入理解LLC变换器的稳定边界与优化设计原则。 立即下载

相关推荐

mcgs数据导出到U盘

mcgs触摸屏在工业中应用还是很多的,尤其他的脚本功能策略功能等将开放性放到了最大,让用户可以根据实际需求进行自由创作,正因为这样,对一些初学者就不是很友好,初学者想要简单操作就能实现功能,但是mcgs不可能两者兼备,在做工业设备,一些数据的采集保存就比较常见,但是mcgs没有相关按钮能够直接实现将数据导出到U盘的功能。这里我给大家讲解关于mcgs将报警历史记录、日志记录、历史数据记录导出到U盘的方法。

qq_24866535的博客 6238

用C++控制台实现简单RPG游戏

这是我人生中的第一篇博客,哈哈,正在学习编程的萌新一枚。学了一学期C++,然后老师要我们用C++写一个简单的RPG游戏,实现开闭原则。花了几天断断续续写完代码,优化程序。本来想优化成抽象工厂模式的,实现开闭原则,可惜后面比较忙,也就忘了,只实现了简单工厂模式。角色武器类是没问题的,不过商店(工厂)没有实现开闭原则,这也是简单工厂模式最大的不足。发这篇博客,就想与初学C++的小伙伴们一起分享,...

m0_37981105的博客 1万+

实战指南:轻松破解DataDome滑块验证码的关键步骤

本文详细介绍了破解DataDome滑块验证码的关键步骤,包括理解其工作原理、准备工作、参数获取与配置、完整破解流程及API调用。通过使用Capsolver服务和模拟真实用户行为,帮助开发者有效绕过这一反机器人机制,同时强调了法律与道德考量。

weixin_30415113的博客 484

搞懂C++抽象类

​作者:良知犹存 转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。 通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成...

良知犹存的博客 3260

两轮差速小车循线控制原理分析

硬件资料设定:小车驱动来自于两个相同的电机,转向依靠两轮差速实现,小车前后左右安装超声波传感器,前后各一个,左右各两个; 功能目标:假设小车左侧有墙壁,通过超声波测距实现按指定距离沿墙行驶 参数设定:车轮半径r=3cm,车轮间距wd=10cm,车身长length=16cm,侧边超声波传感器前后各一个,假设一个在车头一个在车尾,间距=车身=length=16cm,小车线速度恒定v = 0.2m/s,距离墙d=10cm,假设超声波传感器以10Hz的频率采集距离。 在以上条件下,设定小车出发点,方向与墙平行

aibingjin的博客 1万+

STM32智能头盔DIY全攻略:从心率监测到跌倒报警的完整实现

本文提供了基于STM32的智能头盔完整DIY实现方案,涵盖从心率监测到跌倒报警的核心功能。详细解析了系统设计、硬件搭建、软件算法及系统联调,重点介绍了STM32主控、MAX30102心率传感器和MPU6050姿态传感器的应用,并分享了跌倒检测算法与功耗优化等实战经验,为嵌入式开发与物联网创新项目提供全面指导。

sony5的博客 503

C++简易PK小游戏

需求分析: 英雄类:名字,基础攻击力,防御力,血量,使用武器 武器类:名字,攻击力加成,是否吸血,是否暴击 怪物类:名字,攻击力,防御力,是否被定身 设计重点: (1)封装武器类为抽象类,做底层父类。有利与扩展操作 武器扩展(继承)为:小刀,屠龙宝刀 (2)英雄和怪物,每个类都有一个自己的Attack函数来攻击 weapon.h #pragma once #include<iostream&...

YanWenCheng_的博客 1776

AI量化投资开源平台——Qlib(微矿)的学习使用笔记(随缘更新)

Qlib 涵盖了量化投资的全过程,为用户的 AI 算法提供了高性能的底层基础架构,从框架设计上让用户可以更容易地应用 AI 算法来辅助解决量化投资的各个关键问题(例如 Alpha 预测,风险预测,市场动态性建模)。本文旨在记录一些面向初学者的基础内容。

in_void的博客 3133

刷野打怪上王者·C++篇·第27期·总结

刷野打怪上王者·C++篇·第26期·时间函数&预处理 刷野打怪上王者·C++篇·第25期·动态内存处理 刷野打怪上王者·C++篇·第24期·信号处理 刷野打怪上王者·C++篇·第23期·标准流输入输出 刷野打怪上王者·C++篇·第22期·多线程处理 刷野打怪上王者·C++篇·第21期·模板处理 刷野打怪上王者·C++篇·第20期·命名空间 刷野打怪上王者·C++篇·第19期·...

CSS360的博客 1617

Oracle EBS报表开发入门:Report Builder安装避坑指南(Win10/11兼容版)

本文详细介绍了在Windows 10/11系统上成功安装和配置Oracle Report Builder的完整避坑指南。通过修改系统兼容性、解决虚拟内存报错、正确设置NLS_LANG和TNS连接等关键步骤,确保开发环境稳定运行。同时,阐述了Report Builder与BI Publisher在现代Oracle EBS报表开发中的协作定位与工作流,帮助开发者高效搭建报表开发环境。

d6e7f8的博客 754

架构设计之架构治理

架构治理的本质是“用规则约束复杂性,用流程保障落地,用数据驱动优化”先定目标:明确量化的治理目标,避免盲目行动;立标准:建立覆盖分层、选型、接口、拆分的统一规范,奠定治理基础;强评审:通过架构评审把控设计环节,提前规避风险;全流程:将治理规则贯穿设计、开发、测试、部署、运维全生命周期;重保障:通过组织、流程、工具确保治理落地,而非“纸上谈兵”;持续迭代:随业务与技术演进优化治理规则,避免“一劳永逸”。

xiaolyuh的专栏 813

刷野打怪上王者·C++篇·第7期·数据存储

参考链接 RUNOOB.COM 数据存储类说明 在编程过程需要限制和扩大函数以及变量的作用域(关于作用域上一篇已经提到点),需要一些特定的类来进行修饰。为实现上面的功能,C++定义了存储类。C++程序中使用的存储类:auto,register,static,extern,mutable,thread_local。 但是随着C++版本的更新,从C++17开始,aut...

CSS360的博客 842

K-Core, K-Shell & K-Crust傻傻分不清楚

K-Core(K-核)就是所有大于等于K的K-Shell的并集;K-Crust(K-皮)就是所有小于等于K的K-shell的并集。

欢迎订阅 -- 小源笔迹 2257

刷野打怪上王者·C++篇·第23期·标准流输入输出

参考链接 RUNOOB.COM 标准流输入输出 输入流:字节流从设备(键盘、磁盘驱动器、网络连接)流向内存。输出流:从内存流向设备(显示屏、打印机、磁盘驱动器)。这里主要说明<iostream>中的cin(标准输入流)、cout(标准输出流)、cerr(非缓冲标准错误流)、clog(缓冲标准错误流)对象。 实例程序 #include <iostream>...

CSS360的博客 406

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

刷野打怪上王者·C++篇·第13期·类&对象

参考链接 RUNOOB.COM 类 这个其实在前面讲的时候,就已经涉及过类的使用,现在使用文字描述一下。C语言是面向过程的编程,C++是面向对象的过程。类说白了就是用户定义的类型,类中的数据和方法(可以理解为一个个函数)称为类的成员。下面说一下类的使用,类的定义是以class关键字开头,主体是花括号的内容,下面来说明一下: class 类型 { public: ...

CSS360的博客 392

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

刷野打怪上王者·C++篇·第1期·简介

参考链接 RUNOOB.COM 好记性不如烂笔头 历史 要看历史我认为还是要去百度百科看比较详细(链接),但要简单来说的话,1979年Bjame Sgoustrup在Bell实验室设计开发的,在1983年更名为C++。其中对C++发展很重要的一件事,就是Alexander stepanov创建了标准模板库(Standard Template Library,STL),并加入到C+...

CSS360的博客 384

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

刷野打怪上王者·C++篇·第15期·重载操作

参考链接 RUNOOB.COM 重载操作 重载操作分为重载运算和重载函数。 重载函数 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些形式参数(参数个数、数据类型或者顺序)不同。不能通过返回类型来重载函数。 #include <iostream> using namespace std; class dataDisposeClass { pu...

CSS360的博客 376

刷野打怪上王者·C++篇·第22期·多线程处理

参考链接 RUNOOB.COM 多线程处理 在电脑中可以进行多任务处理,其中多任务的处理方式分为两种:多进程和多线程。多进程是程序的并发执行;多线程是同一程序判断并发执行。 实例程序 #include <iostream> #include <utility> #include <thread> #include <chrono>...

CSS360的博客 364

刷野打怪上王者·C++篇·第6期·变量&常量

参考链接 RUNOOB.COM 变量 其实变量就是一个名字,代指的可操作存储区的名称。也不是随便起个名字就可以,在C++中变量的名称由字母、数字和下划线组成。但必须以字母或下划线开头,并且区分字母的大小写。 估计大家对上一节讨论的字符数不是很清楚,一个字符对应8位(每位对应的就是0或者1)。我们拿一个特殊的类型来进行说明,float类型1位符号、8位指数、23位小数,下面拿...

CSS360的博客 359

刷野打怪上王者·C++篇·第2期·环境配置

参考链接 百度百科 C++环境设置MAC安装XCode、Command Line Tools 好记性不如烂笔头 C++开发环境 还是先说一个什么是集成开发环境(IDE):集成开发环境(IDE),功能齐全,调试功能很强,程序编好后,可以立刻在环境中调试以获得初步测试结果,然后,可以方便地做成beta版形式,拿到实际环境中进一步测试,最后做成软件发行版。 知道了概念就...

CSS360的博客 354

刷野打怪上王者·C++篇·第3期·HelloWorld

参考链接 RUNOOB.COM 好记性不如烂笔头 示例代码 我们还是先上HelloWorld代码,然后在慢慢细聊一下: #include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } 结果:...

CSS360的博客 336

刷野打怪上王者·C++篇·第25期·动态内存处理

参考链接 RUNOOB.COM 动态内存处理 为什么会有这么一个概念呢?我们在写程序的时候,有的时候很难提前预知定义的变量需要申请多少内存,只有在程序运行的过程才能够确定。需要说明一点,在C++中内存由两部分组成:栈和堆。其中,函数内声明的所有变量使用栈来存储;对于程序未使用的可用于动态分配的内存则有堆完成。 要进行动态申请内存,C++提供了空间分配new运算符,还提供了...

CSS360的博客 330

刷野打怪上王者·C++篇·第5期·数据类型

参考链接 RUNOOB.COM 数据类型说明 我们思考一下,为什么会 出现数据类型。个人理解,首先作为一个好的程序员,就必须在实现特定功能的前提下,要保证较小的时间复杂度和空间复杂度。要做实现上面说的,当然最牛的就是算法。其实算法就是解决问题的一种方法,不过就是这个方法更高效。但要玩算法,最基本就是要合理申请数据空间。 上面知道了为什么,下面我们开始聊实际的。在C++的数据...

CSS360的博客 319

刷野打怪上王者·C++篇·第8期·运算操作

参考链接 RUNOOB.COM 运算操作 上几篇已经讲了C++中变量和数据存储,后面我们将讲对里面的数据进行操作需要C++提供了哪些运算符。C++中常见的运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符。 算术运算符:包括+(加)、-(减)、*(乘)、/(除)、++(自加)、--(自减)。下面我们通过程序来进行说明: #include <ios...

CSS360的博客 319

刷野打怪上王者·C++篇·第21期·模板处理

参考链接 RUNOOB.COM 模板处理 函数模板不是一个实在的函数,编译器不能为其生成可执行代码。定义函数模板后只是一个对函数功能框架的描述,当它具体执行时,将根据传递的实际参数决定其功能。模板分为函数模板和类模板。 函数模板的定义方式 template <class type1, class type2, ...> 返回类型 函数名(参数列表) { /*核...

CSS360的博客 318

刷野打怪上王者·C++篇·第26期·时间函数&预处理

参考链接 RUNOOB.COM 时间函数&预处理

CSS360的博客 313
上一篇: 刷野打怪上王者·C++篇·第17期·数据操作处理
下一篇: 刷野打怪上王者·C++篇·第19期·异常处理
元宇宙MetaAI
博客等级 码龄10年 331粉丝 333原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值