博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++虚函数和纯虚函数的异同
阅读量:4635 次
发布时间:2019-06-09

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

虚函数又称为虚方法,虚方法是父类的一个组成部分,但是可以被不同的子类重写。虚函数的关键字是virtual,如下所示,是一个简单的虚函数的声明:

class Base{public:    virtual void putout();};

在虚函数中有一个特殊的虚函数,称为纯虚函数:

class Base{public:    virtual void putout() = 0;};

纯虚函数是一种特殊的虚函数,但是和一般的虚函数有着很大的区别,不妨在这里做一下区分:

1)虚函数和纯虚函数可以定义在同一个类中,不过含有纯虚函数的类被称为抽象类,不能够实例化。
2)虚函数可以直接使用,也可以被派生类重写以后,以多态的形式被调用,而纯虚函数不能够直接使用,必须在派生类中被重写以后才能够被调用;
3)虚函数必须被实现,如果没有被实现,会被编译器报错,而纯虚函数在定义的同时就被实现了,例如:

virtual void foo(void)=0;

4)他们的相同之处则是由于纯虚函数是属于虚函数的一种,故虚函数具备的基本特性,其都具有。

虚函数是C++实现多态的主要部分,通过对虚函数的重写,使得多态的特性被发挥的如林尽致。

转载于:https://www.cnblogs.com/charleschiu/p/4360789.html

你可能感兴趣的文章
简单入门dos程序
查看>>
linux下occi操作oracle数据库,中文乱码的问题
查看>>
JS原型与原型链
查看>>
SVG.js 笔记 (一)
查看>>
struts2笔记01-环境搭建
查看>>
appium 控件定位
查看>>
oracle sql 获取本季度所有月份,上季度所有月份
查看>>
VUE的组件DEMO
查看>>
xshell连接Linux、ngix部署
查看>>
XCODE 6.1.1 配置GLFW
查看>>
vue element 关闭当前tab 跳转到上一路由
查看>>
4、面向对象
查看>>
[NOI2005]聪聪与可可(期望dp)
查看>>
POJ 3723
查看>>
解决sql2014的distribution系统库distribution.mdf过大问题
查看>>
Maven的安装
查看>>
angular初步认识一
查看>>
springmvc3.2+spring+hibernate4全注解方式整合(一)
查看>>
Elgg网站迁移指南
查看>>
素数筛法优化
查看>>