博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++学习笔记---虚函数与纯虚函数
阅读量:7047 次
发布时间:2019-06-28

本文共 555 字,大约阅读时间需要 1 分钟。

  hot3.png

虚函数

定义:在某基类中声明为virtual的函数,并在一个或多个派生类中被重新定义的成员函数。

语法:virtual 返回类型 函数名(参数表) {函数体}

用途:实现多态

虚函数必须是基类非静态成员函数,访问权限可以是public或protected,一般如下进行定义

class 基类名 {

    virtual 返回类型 将要在派生类中重载的函数名(参数列表) {函数体};

};

 子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virtual(虚函数)。

实现动态联编需要三个条件:

  1、 必须把动态联编的行为定义为类的虚函数

  2、 类之间存在子类型关系,一般表现为一个类从另一个类公有派生而来。

  3、 必须先使用基类指针指向子类型的对象,然后直接或者间接使用基类指针调用虚函数。否则指针总是指向基类

纯虚函数

virtual <类型><函数名>(<参数表>)=0;
如果派生类中没有对基类的纯虚函数进行定义,那么派生类自身也就成了一个抽象类,无法被实例化。

 

 

非虚函数当做虚函数用, 普通的非虚函数体在编译期就与函数调用绑定,指针的类型决定了哪个函数被调用。

转载于:https://my.oschina.net/keigo/blog/66106

你可能感兴趣的文章
Cluster by
查看>>
我的友情链接
查看>>
服务注册中心,Eureka比Zookeeper好在哪里?
查看>>
Exchange Server 2013就地存档
查看>>
访问控制列表
查看>>
python(pexpect)自动ssh脚本
查看>>
进击的python【片首】
查看>>
JAVA解析XML
查看>>
Camtasia Studio(屏幕录制工具)
查看>>
py3中输入密码时隐藏
查看>>
Redis监控方案
查看>>
zabbix如何监控WEB应用性能
查看>>
gitLab 分支受保护设置
查看>>
Openstack 大纲
查看>>
为什么在子线程中不能更新UI的简单解释
查看>>
愚者与智者的48个差距!
查看>>
vs2015的部署以及一些其他问题
查看>>
SaltStack安装配置与远程执行测试
查看>>
我的友情链接
查看>>
安卓开发中如何给乐联网上传数据
查看>>