虚函数
来源:互联网 发布:高德导航数据更新不了 编辑:程序博客网 时间:2024/06/05 06:57
虚函数:
(1)虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通
过基类指针或引用来访问基类和派生类中的同名函数;
(2)C++规定,当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数;因此在派生类重新声明该虚函数时,可以加virtual,也可以不加,但习惯上一般在每一层声明该函数时都加virtual,使程序更加清晰;
(3)只能用virtual声明类的成员函数,使它成为虚函数,而不能将类外的普通
函数声明为虚函数;
(4)如果用new运算符建立了临时对象,若基类中有析构函数,并且定义
了一个指向该基类的指针变量。在程序用带指针参数的delete运算符撤销对象时,会发生一个情况:系统会只执行基类的析构函数,而不执行派生类的析构函数,因此我们可以定义虚析构函数;一般都习惯声明虚析构函数,即使基类并不需要析构函数,也显式地定义一个函数体为空的虚析构函数,以保证在撤销动态分配空间时能得到正
确的处理
(5)纯虚函数:
1>定义一般形式:virtual函数类型函数名 (参数表列) const =0;
2>如果在一个类中声明了纯虚函数,而在其派生类中没有对该函数定义,则
该虚函数在派生类中仍然为纯虚函数;
(6)抽象类:
1>不用来定义对象而只作为一种基本类型用作继承的类,称为抽象类(abstract class ),由于它常用作基类,通常称为抽象基类(abstract base class );
2>凡是包含纯虚函数的类都是抽象类;
3>如果在派生类中没有对所有纯虚函数进行定义,则此派生类仍然是抽象类,
不能用来定义对象;
4>抽象类不能定义对象(或者说抽象类不能实例化),但是可以定义指向抽
象类数据的指针变量;
- 构造函数 虚函数
- 虚函数 inline函数
- 纯虚函数、虚函数、虚析构函数
- 虚函数,虚析构函数,虚函数表
- 普通函数,虚函数,纯虚函数
- 虚函数,纯虚函数,需析构函数
- 构造函数、析构函数、虚函数
- 构造函数 虚函数 虚析构函数
- 虚函数/构造函数/析构函数
- 构造函数&析构函数&虚函数
- 虚函数
- 虚函数
- 虚函数
- 虚函数
- 虚函数
- 虚函数
- 虚函数
- 虚函数
- Linux mount代码分析
- 归并排序 with Python
- 怎样写一个解释器
- SVN分支/合并原理及最佳实践
- ACE消息队列
- 虚函数
- 黑莓开发之HTML 5篇
- vs2010连接SQL server 方法
- 银行家算法的简单实现
- 3.4.3 循环队列--------队列的顺序表示与实现(1)
- Android 配置 OpenCV2.3.1
- mssql中public和db_owner权限下拿到webshell或者系统权限
- 我答知乎:手机音乐类播放应用滑动切换歌曲后是否应该默认播放?
- 数据库查询之(Ⅲ)连接查询