求教,c++中什么时候使用虚函数?

2022-09-23 00:28

2个回答
虚函数的应用很多,其中最常用的是虚函数的覆盖技术
虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型。以实现统一的接口,不同定义过程。如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数。

比如:基类定义一个多边形,其种虚函数是求面积;
这个基类有多个派生类,派生类中对从基类继承来的虚函数求面积重定义,
如,派生类三角形,定义了求面积的方法是“半底高”;
派生类正方形,定义了求面积的方法是“边平方”;
……等等

以上的基类中的虚函数纯粹就是为了派生类的重定义而存在……
相关问答
c++的C++中虚函数的作用是什么?它应该怎么用呢?
1个回答2022-10-31 23:05
指针的类型是可以强行转来转去的。普通情况你转什么类型就调对应类型的同名函数。但是虚函数实现多态后,尽管可能你把指针转成父类的类型,但是因为创建的时候是子类的类型,它还是会调用子类的这个虚函数。 这样可...
全文
在C++中什么时候用虚函数
1个回答2022-11-13 02:42
你还不知道怎么写函数体的时候!
C++虚函数怎么理解?
1个回答2022-09-26 10:33
一个函数被定义成虚函数,那么他的子类就能重写这个方法了,当用子类对象调用方法的时候,就是调用的子类中的方法。 还有他是用来实现多态的。
c++中虚函数如何定义,使用时应该注意什么?
1个回答2022-10-23 03:56
虚函数的定义要这样,virtual 返回类型+函数名(参数); 虚函数调用时要注意,在类继承的时候,子类调用的虚函数和父类中虚函数的区别
钩子函数的原理c/c++
1个回答2022-10-31 12:21
观望。。。。
怎样用C++使函数等待一段时间?
1个回答2023-10-26 23:16
sleep(n); 其中n是毫秒数,sleep(1000)就是等待1秒钟。
什么时候一定要使用虚函数而不能使用纯虚函数,请举实例。
1个回答2022-09-24 16:20
虚函数主要是用来定义一个函数,且允许这个函数调用的时候,在可能的情况下调用派生类重载的函数。举一个实例的话,就是析构函数。父类可以有一个析构函数来处理父类里面分配的内存之类的事情,派生类也有一个析构函...
全文
C++中为什么一定要出现虚函数,用函数覆盖不可以解决问题么,换句话说,虚函数和函数覆盖有什么区别
3个回答2022-09-05 07:55
虚函数可以实现动态绑定,比如父类有个虚函数函数f和子类中重定义了f Father *p=new Son; 则p->f调用的就是子类的 Father *p=new Father; 则p->f调用的是父类...
全文
C++的成员函数和普通函数
1个回答2023-10-22 16:24
类成员的函数还有一个作用就是命名空间
C++ 虚函数表指针vptr什么情况下被改变?
1个回答2022-12-28 01:55
虚拟表一个类只有一个.是静态的.在Main函数之前就初始化了.你的写法有问题。关于class TEST_API CBase不能被定义两次。两个分别是不同的类.一个类只有一个虚拟表。class TEST...
全文
扫码下载APP
听书听课听播客,随时随地陪伴你
热门问答