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++中多态的相关知识,希望对大家有一些帮助

你可能感兴趣的:(多态,开发语言,c++,学习)