当前位置: 首页 > news >正文

C++基础:多态

多态相关

  1. 多态=继承+重写父类的虚函数
  2. 多态的体现,父类的引用指向子类对象的空间
  3. 虚函数可以实现,也可以不实现,不实现必须要有初始值
  4. 存在未定义的虚函数的类为抽象类.抽象类不能实例化对象;(animal父类不能实例化对象)
  5. 如果父类中的函数非虚函数,则会调用父类中的函数
  6. //多态的体现,父类的引用指向子类的对象

代码示例:

#include <iostream>
#include <string>
using namespace std;//多态==继承+重写父类的虚函数--1
//多态的体现,父类的引用指向子类的对象--2
class animal{//存在未定义的虚函数的类为抽象类.抽象类不能实例化对象;//如果以下函数非虚函数,则会调用父类中的函数public://虚函数可以实现virtual void eat(string food){cout<<"animal eat" << food<<endl;}virtual void hi()=0;//虚函数可以不实现,但是必须要有初始值---3,虚函数
};class dog: public animal{public:void eat(string food){cout<<"dog eat "<< food << endl;}void hi(){cout<<"wang wang"<<endl;}
};class cat: public animal{public:void eat(string food){cout<<"cat eat "<< food << endl;}void hi(){cout<<" miao miao"<<endl;}
};
//多态的体现,父类的引用指向子类的对象
void eat (animal &animal ,string food){animal.eat(food);
}int main()
{cat cat1;dog dog1;eat(cat1,"fish");eat(dog1,"meat");dog1.hi();animal &cat2=cat1;  //多态的体现cat2.hi();
}
http://www.lryc.cn/news/355202.html

相关文章:

  • 移除元素(算法题)
  • 电商场景的视频动效
  • Windows操作系统基本知识整理
  • Vue 状态管理深入研究:Vuex 和 Pinia 的原理与实践对比
  • 【三数之和】python,排序+双指针
  • TCP通信实现(服务端与客户端)
  • 安装appium自动化测试环境,我自己的版本信息
  • 【讲解下Web前端三大主流的框架】
  • 视频监控平台AS-V1000产品介绍:账户或用户数据的导入和导出功能介绍
  • markdown画时序图的时候,如何自动显示每一条时序的序号
  • 朴素贝叶斯
  • 【软件设计师】——10.面向对象技术
  • 唐山无人机航拍,唐山无人机建模,唐山数据孪生
  • vue中分页查询的实现
  • 类 和 对象(二)
  • buu[HCTF 2018]WarmUp(代码审计)
  • 力扣爆刷第145天之图论五连刷(dfs和bfs)
  • Host头攻击-使用加密和身份验证机制
  • 衍生品赛道的 UniSwap:SynFutures 或将成为行业领军者
  • TypeScript中的`let`、`const`、`var`区别:变量声明的规范与实践
  • 【python】python商家会员数据分析可视化(源码+数据集+课程报告论文)
  • Python限制输入的数范围
  • postman都有哪些功能?
  • 华为ensp中USG6000V防火墙双机热备VRRP+HRP原理及配置
  • ROS for LabVIEW:实现LabVIEW与ROS的无缝集成
  • yolov8+ROS+ubuntu18.04——学习记录
  • Java小抄(一)|Java中的List与Set转换
  • 【每日随笔】小人畏威不怀德 , 君子畏德不畏威 ( 先礼后兵 )
  • 不一样的2024
  • linux mv操作和cp操作