栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++之多态学习笔记

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++之多态学习笔记

文章目录
  • 一、多态是什么?
  • 二、多态相关知识
    • 1.多态种类
    • 2.种类的区别
  • 三、编程例题讲解——动物多态
  • 四、总结

 


前言

提示:这里可以添加本文要记录的大概内容:

其实关于C++也没有学习太多的东西,也不是什么大神,就是想通过写博客来做一下关于C++学习的笔记和大家分享自己在学习C++的时候一些理解,监督一下自己和大家,共同进步。


提示:以下是本篇文章正文内容,下面案例可供参考

一、多态是什么?

多态是类的三大类:封装、继承、多态中的一类,多态多态,顾名思义就是多种形态,例如,去买票,不同的人买不同的票,成人就买成人票,学生就买学生票,儿童就买儿童票。虽然都是买票但是买的票都不同,价格也不一样。

二、多态相关知识 1.多态种类

多态分为两种:静态多态和动态多态。

静态多态:函数重载和运算符重载

动态多态:派生类和虚函数实现运行时多态(本章主要讲解的例子)

2.种类的区别

静态多态:函数地址早绑定——编译器阶段就确定了函数地址

动态多态:函数地址晚绑定——运行阶段确定函数地址

三、编程例题讲解—动物多态 

用引用的方法设计一个代码基类是动物,继承为猫,两个类都有说话函数,创建一个新的执行说话函数

代码如下(示例):

#include
using namespace std;
class Animal
{
  public:
    virtual void Speak()
      {
        cout<<"动物在说话"< 

四、总结

代码中的Cat cat;doSpeak(cat) 本意是想让传入谁就让谁执行Speak()函数,但是应为有静态多态Animal函数地址早绑定了,现在如果想执行让猫说话,那么这个函数地址Animal中的Speak()函数不能提前绑定,需要用到多态,在运行阶段进行绑定,把Aniaml中的Speak()函数变为虚函数,在其前面加virtual就可以了。

以上就是今天要讲的内容啦,本文以我的认识简单介绍了一下C++中多态的相关知识,希望对大家有一些帮助

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号