2016 - 2025

感恩一路有你

析构函数为什么是虚函数 为什么要用虚函数?

浏览量:1505 时间:2021-03-11 02:33:31 作者:admin

为什么要用虚函数?

当使用基类指针指向不同派生类的对象时,如果基类指针调用其虚成员函数,则会调用实际指向该对象的成员函数,而不是基类中定义的成员函数(只要派生类重写成员函数即可)。如果它不是虚函数,则无论基类指针指向哪个派生类对象,都将调用在基类中定义的函数。

虚函数的定义?

1. 虚函数的概念

虚函数是用virtual关键字声明的基类函数。如果一个函数在基类中被指定为virtual,并且在派生类中有该函数的另一个定义,编译器将知道我们不希望静态连接该函数。我们真正需要的是根据调用函数的对象的类型来选择在程序的特定位置调用哪个函数。

2. Define

语法:virtual function return type function name(parameter table){function body}

虚拟函数必须是基类的非静态成员函数,其访问权限可以是private、protected或public。虚函数的一般形式在基类的类定义中定义:

class基类名{

虚返回值类型函数名(参数列表)在派生类中重载;]};

析构函数为什么是虚函数 虚函数表 内存布局 什么是虚函数表

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。