news 2026/4/25 0:29:17

C++之纯虚函数和抽象类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++之纯虚函数和抽象类

文章目录

  • 纯虚函数
  • 抽象类

纯虚函数

  • 如果一个虚函数仅表达抽象的行为,没有具体的功能,即只有声明没有定义,这样的虚函数被称为纯虚函数或抽象方法
class类名{public:virtual返回类型 函数名(形参表)=0;};
  • 假设有图形类Figure, 设计计算面积的成员函数area()
  • Figure只是一个纯抽象意义上得概念,不存在计算面积或体积的具体方法,所以只能将成员函数area()设计为纯虚函数
#include<iostream>usingnamespacestd;classFigure{protected:doublex,y;public:voidset(doublei,doublej){x=i;y=j;}virtualvoidarea()=0;};

抽象类

  • 如果类中包含了纯虚函数,那么这个类就是抽象类
  • 抽象类只能最为其它类的基类,不能用来建立对象
  • 如果类中的所有成员函数都是纯虚函数则可以称为纯抽象类
#include<iostream>usingnamespacestd;classShape{public:virtualvoiddraw(void)=0;};classRect:publicShape{public:voiddraw(void){cout<<"draw Rect"<<endl;}};classCircle:publicShape{public:voiddraw(void){cout<<"draw Circle"<<endl;}};classEllipse:publicShape{public:voiddraw(void){cout<<"draw Ellipse"<<endl;}};intmain(void){/* Ellipse e; e.draw(); e.Shape::draw(); *///Shape s1; //errorShape*buf[128]={0};buf[0]=newRect;buf[1]=newCircle;buf[2]=newEllipse;for(inti=0;buf[i]!=NULL;i++){buf[i]->draw();}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 13:58:28

LightOnOCR-2-1B:基于 RLVR 训练实现高精度端到端 OCR;Google Streetview 国家街景图像:基于世界级地理映射技术的全景图像开源库

当前&#xff0c;OCR 技术依赖于复杂的串联式流水线&#xff1a;先检测文本区域&#xff0c;再进行识别&#xff0c;最后进行后处理。这种模式在面对版面复杂、格式多变的文档时&#xff0c;流程繁琐脆弱&#xff0c;任一环节出错都会导致整体结果不佳&#xff0c;且难以端到端…

作者头像 李华
网站建设 2026/4/22 15:52:22

2026 CRM终局之战:生态定胜负,AI决输赢

CRM软件被AI重写&#xff0c;竞争也演进为生态体系之争。 文&#xff5c;牛慧 编&#xff5c;赵艳秋 2025年底一组关键数据引发业内关注&#xff1a;美国市场AI调用量最高的并非互联网或手机助手平台&#xff0c;而是SaaS企业。其中SAP、Salesforce已跻身OpenAI最核心客户群…

作者头像 李华
网站建设 2026/4/21 22:59:09

万物皆有意义:活出个体精彩与意义信仰的实践框架

万物皆有意义&#xff1a;活出个体精彩与意义信仰的实践框架一、意义的双重性&#xff1a;普遍性与独特性万物皆有意义&#xff0c;但意义呈现方式因人而异——这是个体精彩得以存在的前提。如同阳光普照大地&#xff0c;但每朵花以独特方式绽放&#xff1b;海洋滋养万物&#…

作者头像 李华
网站建设 2026/4/23 13:14:06

如何安全轻松地出售损坏的 iPhone

即使你的 iPhone 破裂、进水或无法开机&#xff0c;它仍然有价值。出售损坏的 iPhone 既能帮你赚点外快&#xff0c;还能清理杂物。然而&#xff0c;在出售你的 iPhone 之前&#xff0c;有几个重要因素需要考虑。从确保数据安全到找到合适的买家&#xff0c;本指南将指导你完成…

作者头像 李华
网站建设 2026/4/23 10:30:10

零基础学 HBuilderX?先看这篇超详细安装教程,入门到精通一篇搞定

一、下载安装 1.在地址栏中直接输入https://www.dcloud.io 2.点击箭头所指&#xff0c;进去过后点击DOWNLOAD。 3.点击过后 选择自己所需要的版本。 HBuilder目前有两个版本&#xff0c;一个是windows版&#xff0c;一个是mac版。下载的时候根据自己的电脑选择适合自己的版本…

作者头像 李华