美文网首页iOS学习HTML5 专栏程序员
C++ 什么是多态,多态的用途

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

作者: 石虎132 | 来源:发表于2018-02-17 23:32 被阅读186次

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

一、概念

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

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

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

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

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

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

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

谢谢!!!

相关文章

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

    //联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄 一、概念 1.定义:“一个接口,多种方法”,程序在运...

  • 多态的C++实现

    多态的C++实现 1 多态的原理 什么是多态?多态是面向对象的特性之一,只用父类指针指向子类的对象。 1.1 多态...

  • 深刻剖析之c++博客文章

    三大特性 封装、继承、多态 多态 C++ 虚函数表解析C++多态的实现原理 介绍了类的多态(虚函数和动态/迟绑定)...

  • c++多态

    什么是多态性? 多态:相同对象收到不同消息或不同对象收到相同消息时产生不同的动作。C++支持两种多态性:编译时多态...

  • C++ 的多态(Polymorphism), virtual f

    多态 c++支持两种多态,编译时多态和运行时多态但其实编译时多态根本不是真正的多态,编译时多态就是函数的重载,ov...

  • 1.9 多态基本概念

    本小节知识点: 【了解】什么是多态? 【掌握】多态的条件 【了解】多态的优点 1.什么是多态? 什么是多态:多态就...

  • C++ 虚函数 总结

    虚函数是 C++ 实现多态的方式。 什么是多态?多态性常被视为自封装和继承之后,面向对象的编程的第三个支柱。如果举...

  • C++编译期多态和运行期多态

    C++多态有多种实现方式,在面对对象编程时,采用的是运行期多态,也称动态多态。在泛型编程中,多态基于模板的具现化与...

  • Swift 多态实现探究

    多态 父类指针指向子类对象 Swift 中多态的实现类似于 c++ 中的虚表 OC 多态实现利用的是 Runtim...

  • C++第六篇多态

    C++中的多态性分为编译时多态性和运行时多态性,编译时多态通过函数重载和模板体现,运行多态通过虚函数体现编译、连接...

网友评论

    本文标题:C++ 什么是多态,多态的用途

    本文链接:https://www.haomeiwen.com/subject/zuuvtftx.html