c++中的虚函数是什么?

如题所述

C++中的虚函数是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。

C++中的虚函数的作用主要是实现了多态的机制。

关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。

这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。

温馨提示:内容为网友见解,仅供参考
无其他回答

c++中的虚函数是什么?
C++中的虚函数是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多...

什么是C++虚函数,虚函数的作用和使用方
虚函数定义:简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。虚函数的作用:用同一个调用形式,既能调用派生类又能...

C++中虚函数的作用是什么?它应该怎么用呢?
C++中虚函数的作用:1、简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。2、实现多态性,多态性是将接口与实现进行分离。3、当基类指针指向一个子类对象,通过这个指针调用子类和基类同名成员函数的时候,基类声明为虚函数就会调子类的这个函数,不声明就会调用基类的。C++中虚函数的用法:1、...

为什么c++中virtual要翻译为虚函数?
在C++中,virtual function(虚函数)的翻译源自于其特性——虚拟性,这与英文词汇“virtual”的含义相符。"Virtual"在中文中的解释为“虚拟的”,表示某事物并非真实存在,而是模拟或类似真实的。因此,当我们将virtual function翻译为虚函数时,准确地传达了它作为函数的非直接调用性。虚函数是用于实现多态...

C++ Virtual详解
虚函数就是因为成员函数加了关键字virtual,可见它的重要性。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的...

求教,c++中什么时候使用虚函数??
首先你要明白C++为什么要引进虚函数这个机制,虚函数就是在基类中被关键字virtual说明,并在派生类中重新定义的函数。虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。从以上的定义来看,需函数简单的说就是为了让基类指针能够指向派生类...

C++关于虚函数的描述的选择题,新手不会
A)虚函数是一个静态成员函数(静态是编译是实现 X)B)虚函数是一个非成员函数(这里意思是全局函数 X)C)虚函数既可以在函数说明时定义,也可以在函数实现时定义(这是纯虚函数 X)D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 ...

C++纯虚函数的C++纯虚函数
1、多态性指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。a.编译时多态性:通过重载函数实现b 运行时多态性:通过虚函数实现。2、虚函数虚函数是在基类中被声明为virtual,并在派生类中重新定义的成员函数,可实现成员函数的动态...

请问高手,C++虚函数表是什么?怎么用啊?
虚函数的定义 虚函数用来表现基类和派生类的成员函数之间的一种关系. 虚函数的定义在基类中进行,在需要定义为虚函数的成员函数的声明前冠以关键字 virtual. 基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义. 在派生类中重新定义时,其函数原型,包括返回类型,函数...

c++中什么是实函数 什么是虚函数
在父类里使用virtual关键字来修饰成员函数,这样的函数称之为虚函数。其作用主要用于子类覆盖父类的同名方法。然后通过基类指针或引用来访问派生类或基类的同名方法。同时用虚函数可以实现OOP里的多态机制。下面的示例是利用虚函数实现OOP里的多态机制:include<iostream>using namespace std;class Parent{...

相似回答