虚函数的定义以及作用
来源:互联网 发布:微信扫二维码抽奖软件 编辑:程序博客网 时间:2024/06/08 01:18
虚函数是动态联编的基础,虚函数是成员函数,且为非static的成员函数。说明虚函数的方法如下:
virtual 类型说明符 函数名(参数表)
其中,被关键字virtual说明的函数称为虚函数。
提示:一旦一个函数被声明为虚函数,即使重新定义类的时候没有声明虚函数,那么它从这点之后的继承层次结构中都是虚函数。
如果某类中的一个成员函数被说明为虚函数,这就意味着该成员函数在派生类中可能有不同的定义。当使用这个成员函数操作指针或引用所标识的对象时,将对该成员函数调用采用动态联编方式。
动态联编只能通过指针或引用标识对象来操作虚函数。如果采用一般类型的标识对象来操作虚函数,则将采用静态联编方式调用虚函数。
例如此程序:
#include <iostream>using namespace std;class point{ int x, y;public: point(int x1, int y1) {x = x1; y = y1;} virtual int area() const {return 0;} //虚函数};class Rectangle:public point{ int length, width;public: Rectangle(int x1, int y1, int l, int w):point(x1, y1) { length = l; width = w; } virtual int area() const //虚函数 { return length * width; }};void fun(point &p){ cout << p.area() << endl;}int main(){ Rectangle rec(2, 4, 6, 8); fun(rec);}
该程序输出结果为:48
总之,动态联编需要如下3个条件:
1.类之间为基类与派生类的关系
2.要有虚函数
3.调用虚函数操作的是指向对象的指针或者对象引用,或者由成员函数调用虚函数
摘自《新编C++语言习题与解析》
个成员函数
阅读全文
0 0
- 虚函数的定义以及作用
- 虚函数的用法以及作用
- 虚函数定义以及注意事项
- 函数定义作用域
- c++中虚函数的作用以及用法
- 事务的定义,事务的作用以及Spring事务原理
- 事务的定义,事务的作用以及Spring事务原理
- 事务的定义,事务的作用以及Spring事务原理
- 事务的定义,事务的作用以及Spring事务原理
- 事务的定义,事务的作用以及Spring事务原理
- 头文件作用 以及 声明与定义的区别
- MRP区域“MRP Area”的定义以及作用
- Spring中用注解实现bean的定义以及作用域
- 宏定义中的 # , ##以及 _ _VA_ARGS_ _ 的作用
- 凸函数的定义、性质以及判别
- JavaScript中函数的定义以及使用
- 函数指针的作用以及好处
- 函数作用以及定时器
- &和&&的区别
- Integer和int区别
- Mybatis3.3.x技术内幕(十五):Mybatis之foreach批量insert,返回主键id列表(修复Mybatis返回null的bug)
- .Net报表控件FastReport.Net在C#程序中如何邦定报表模版
- Java类及其常用方法(八)---Date
- 虚函数的定义以及作用
- JavaIO简单摘要(一)
- SQLServer备份为多个文件
- form表单文件上传方法
- react-native 获取网络状态
- storm的消息格式分析
- 如何实现一个高效的队列
- 实例3-1 树的同构
- jmeter 断言(检查点)