C++ 什么是多态,多态的用途

//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄

一、概念

1. 定义:“一个接口,多种方法”,程序在运行时才决定调用的函数。

2. 实现:C++多态性主要是通过虚函数实现的,虚函数允许子类重写override(注意和overload的区别,overload是重载,是允许同名函数的表现,这些函数参数列表/类型不同)。

  *多态与非多态的实质区别就是函数地址是早绑定还是晚绑定。

  *如果函数的调用,在编译器编译期间就可以确定函数的调用地址,并生产代码,是静态的,就是说地址是早绑定的。

  *而如果函数调用的地址不能在编译器期间确定,需要在运行时才确定,这就属于晚绑定。

3.目的:接口重用。封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。

4.用法:声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。

谢谢!!!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,742评论 18 399
  • 1. 结构体和共同体的区别。 定义: 结构体struct:把不同类型的数据组合成一个整体,自定义类型。共同体uni...
    breakfy阅读 6,556评论 0 22
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,959评论 0 62
  • 今天第一次去听了音乐会。当交响乐演奏开的时候,我的心一下子就被调动了起来,而我先生更是,第一时间抓住了我的手,仿佛...
    胡兔兔的后花园阅读 1,387评论 0 0
  • 首尔的冬天比其他呆过的地方来的都快 一不小心就头痛脑热是常有的事 这几天万圣节又快到了 校园到处充斥着挂着半截裤子...
    一抹阳光下阅读 1,657评论 0 0

友情链接更多精彩内容