怎样通过函数实现C++多态性

发布时间:2021-10-27 18:25:18 作者:柒染
来源:亿速云 阅读:135

这期内容当中小编将会给大家带来有关怎样通过函数实现C++多态性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

C++多态性主要体现在虚函数的调用,在C++中,虚函数的调用使用的是动态绑定,也有人说是晚捆绑,也就是在程序运行时才决定调用的函数,即使程序员不知道对象类型,程序仍然可以作出适合该对象类型的行为。

简单的说,虚函数就是在函数原型前加上virtual关键字。函数一旦被声明为虚函数,即使类在改写它的时候没有将其声明为虚函数,它从该点的继承层次结构中仍然是虚函数。如果基类中一个函数被声明为虚函数,在若干子类中有着不同的实现,那么我们在创建若干子类的不同对象时,可以用基类的指针或者引用来指明子类对象并且调用相应子类的函数。

虚函数的定义方式如下:

◆类的静态成员函数不可以定义为虚函数;
◆类的构造函数不可以定义为虚函数;
◆非类的函数不可以定义为虚函数。

纯虚函数是在声明虚函数时初始化为0的函数。

#include<memory> #include<iostream> using namespace std;  Virtual void print() const = 0;

抽象类

简单的说,带有一个或多个未实现的纯虚函数的类是抽象类。如果一个类继承自一个抽象类,但它没有全部实现父类里面所有的纯虚函数,那么那些纯虚函数在子类中仍然是纯虚的,这个子类仍然是抽象类,仍然不能实例化对象。

抽象类是一种特殊的类,只能作为基类来使用,其纯函数的实现由派生类给出。虽然不能实例化抽象类,但我们可以声明一个抽象类的指针和引用,在实例化对象时,可以用不同的子类来实现,从而实现多态性操作。只有当派生类将基类中的所有的纯虚函数都实现的时候,它才不再是抽象类。

C++多态性

从广义上说,C++多态性是指一段程序能够处理多种类型对象的能力。在C++语言中,多态性可以通过强制多态、重载多态、类型参数化多态、包含多态等多种实现形式。所谓多态就是通过类的继承,使得同一个函数可以根据调用他的对象的类型作出不同的响应。它也继承和重载共同构成面向对象的3大编程特性。

C++多态性通过虚函数来实现,当我们用基类的指针来调用虚函数时,程序会根据对象的属性选择其自身的函数实现。即使程序员不知道对象类型,程序仍然可以作出适合该对象类型的行为。

C++语言支持两种类型的多态:一种是编译时的多态(静态多态),另一种是运行时的多态(动态多态)。在编译时的多态是通过静态联编实现的,而在运行时的多态则是通过动态联编实现的。

上述就是小编为大家分享的怎样通过函数实现C++多态性了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. PHP 对象 多态性
  2. 多态性与虚函数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++

上一篇:如何理解C++和C#、Java的区别

下一篇:Mysql数据分组排名实现的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》