C++中的虚函数是不是 就是为了实现多态中的重写 和 抽象类的作用?

如题所述

虚函数的目的只有一个,让指向派生类实例的基类指针,可以正确调用这个派生类的虚函数,其中关系到一个V Table
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-26
虚函数是为了让具有共同特征的特殊行为一般化。多态中的重写是什么意思?纯虚函数才跟抽象类有关系。

c++中的虚函数有什么作用?
虚函数的作用:在基类用virtual声明成员函数为虚函数,在派生类中重新定义该函数,就可以通过基类指针或引用来访问基类和派生类中的同名函数。虚函数实现多态性:同一类族中不同类的对象,对同一函数调用做出不同的响应。多态性其实就是一个接口,多种方法,分为静态多态性和动态多态性,函数重载属于静态...

c++中的虚函数和普通函数之间的不同
C++的虚函数主要是为了实现多态。基类定义的虚函数,派生类重新定义该函数,这样基类对象指针调用哪一个函数是判断该基类指针的对象的类型。虚函数用virtual关键字修饰,同时开启动态联编技术,动态联编只有程序运行时才能确定调用的函数,在编译阶段是不知道要调用哪一个函数。

虚函数作用
虚函数的主要作用是实现动态联编,即在程序运行时根据实际对象的类型选择合适的成员函数。在C++中,为了支持多态,我们可以在基类中声明虚函数,然后在派生类中进行重新定义。这种定义方式允许不同类的对象共享相同的接口,但实际行为可以根据对象的实际类型进行调整。当函数前加上"virtual"关键字,该函数就会...

C++中虚函数的作用是什么?它应该怎么用呢?
C++中虚函数的作用:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常理。为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual Ret...

C++中虚函数和纯虚函数的区别
多态性是C++编译器的一个重要技术,即动态绑定技术。它允许父类对象调用子类对象的方法。为了实现多态,父类中的方法必须声明为虚函数。虚函数是实现多态的桥梁。而纯虚函数则将父类提升为抽象类,抽象类无法实例化,只有方法的声明,其实现由子类完成。就像动物无法实例化为具体对象,老虎和狮子可以继承...

C\/C++面试题:虚函数与纯虚函数有什么区别
(1)类里如果声明了虚函数,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被覆盖,这样的话,这样编译器就可以使用后期绑定来达到多态了。纯虚函数只是一个接口,是个函数的声明而已,它要留到子类里去实现。(2)虚函数在子类里面也可以不重载的;但纯虚函数...

C++考题中提到纯虚拟函数是什么概念?起什么作用?
孔雀等子类,但动物本身生成对象明显不合常理。为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(方法:virtual ReturnType Function()= 0;),则编译器要求在派生类中必须予以重写以实现多态性。同时含有纯虚拟函数的类称为抽象类,它不能生成对象。这样就很好地解决了上述两个问题。

抽象类的作用是什么??虚函数的作用是什么??
抽象类指的是含有纯虚函数的类,该类不能建立对象,只能声明指针和引用,用于基础类的接口声明和运行时的多态。另外,如果抽象类的某个派生类在向继承体系的根回溯过程中,并不是所有的纯虚函数都实现了,该类也是抽象类,同样不能建立对象。虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地...

虚函数 纯虚函数是一个东西吗?
虚函数和纯虚函数 在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么...

c++中的纯虚函数与虚函数在应用上有什么差别??
纯虚函数就是为了阻止这个类的实例化。使其成为抽象类。当然虚函数不提供实现看起来也能阻止类的实例化,但它和纯虚函数比起来还有以下不足:1、一方面,从语法上说是不清晰的,你的类的使用者在在看到你的类的定义的时候无法确定哪些函数是没有提供实现的虚函数,而如果你写成纯虚函数就非常明确,一...

相似回答