C++虚函数和纯虚函数的区别
来源:互联网 发布:sql update语句大全 编辑:程序博客网 时间:2024/06/12 16:19
1.虚函数和纯虚函数可以定义在同一个类中,含有纯虚函数的类被称为抽象类,而只含有虚函数的类不能被称为抽象类。
2.虚函数可以被直接使用,也可以被子类重载以后,以多态的形式调用,而纯虚函数必须在子类中实现该函数才可以使用,因为纯虚函数在基类有声明而没有定义。
3.虚函数和纯虚函数都可以在子类中被重载,以多态的形式被调用。
4.虚函数和纯虚函数通常存在于抽象基类之中,被继承的子类重载,目的是提供一个统一的接口。
5.虚函数的定义形式:virtual{};纯虚函数的定义形式:virtual { } = 0;在虚函数和纯虚函数的定义中不能有static标识符,原因很简单,被static修饰的函数在编译时要求前期绑定,然而虚函数却是动态绑定,而且被两者修饰的函数生命周期也不一样。
虚函数充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。
定义纯虚函数就是为了让基类不可实例化,因为实例化这样的抽象数据结构本身并没有意义或者给出实现也没有意义。
纯虚函数只是一个接口,是个函数的声明而已,它要留到子类里去实现。
虚函数在子类里面也可以不重载的;但纯虚必须在子类去实现,这就像Java的接口一样。通常我们把很多函数加上virtual,是一个好的习惯,虽然牺牲了一些性能,但是增加了面向对象的多态性,因为你很难预料到父类里面的这个函数不在子类里面不去修改它的实现
0 0
- 虚函数和纯虚函数的区别 虚函数和纯虚函数的区别
- C++:虚函数和纯虚函数的区别和用法
- 虚函数和纯虚函数区别
- 虚函数和纯虚函数区别
- 虚函数和纯虚函数区别
- 虚函数和纯虚函数区别
- C++虚函数和纯虚函数的区别
- 虚函数和纯虚函数的区别
- 虚函数和纯虚函数的区别
- 虚函数和纯虚函数的作用与区别
- 虚函数和纯虚函数的区别
- 虚函数和纯虚函数的区别
- C++虚函数和纯虚函数的区别
- 虚函数和纯虚函数的作用与区别
- 虚函数和纯虚函数的区别
- 虚函数和纯虚函数的区别
- 纯虚函数和虚函数的区别
- 虚函数和纯虚函数的区别
- 漫谈高数 特征向量物理意义
- 当标签内有嵌套的子标签的情况下,如何用jquery检索纯文本内容
- 再提mysql编码问题-避免乱码和修复乱码1
- ubuntu下安装myeclipse2014+破解
- Mysql数据类型的长度的认识
- C++虚函数和纯虚函数的区别
- APNS远程推送证书的申请和制作——详细解析
- DecimalFormat 输出指定格式的数字
- eclipse 更换svn户名
- 安装CocoaPods及安装Ruby环境
- Linux命令之scp
- SVN创建分支与合并(命令与界面)
- 使用Volley加载图片列表
- 黑马程序员---从头开始,回忆JAVA基础之代理