为什么要用虚函数似乎所有虚函数能做的事情,我都可以用函数重定义和调用父类版本的方式实现,那为什么还要用虚函数呢,它到底有什么优点

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 07:32:58
为什么要用虚函数似乎所有虚函数能做的事情,我都可以用函数重定义和调用父类版本的方式实现,那为什么还要用虚函数呢,它到底有什么优点
xSMo@+J=#$_B jPH"ULCjKC $M EJ ?;SB(*^Vޙ7ޛYbē2r5t`'N2է W(kLE6!+ͰXzqTt-ST_`1߅u,)\>KPKT"p~|=T@M-m&2vTKLuWęIMӂė߰?4hH9X tP5XkzfUzv/Hs$2tf2cviUT0V@&GV^Zf7!ĭaV8;e"te^ӈ@G@V HZ2fxS.>āŃm 0/Õ#? [F.u2@~^MA6!旯ő,[Ho1٨Mעw(p+@6eowԬ̐.&H BTJd|8&vb!㝽ÃtT}D?o;

为什么要用虚函数似乎所有虚函数能做的事情,我都可以用函数重定义和调用父类版本的方式实现,那为什么还要用虚函数呢,它到底有什么优点
为什么要用虚函数
似乎所有虚函数能做的事情,我都可以用函数重定义和调用父类版本的方式实现,那为什么还要用虚函数呢,它到底有什么优点

为什么要用虚函数似乎所有虚函数能做的事情,我都可以用函数重定义和调用父类版本的方式实现,那为什么还要用虚函数呢,它到底有什么优点
我也碰到过你类似的迷惑,特别是书上举的例子,让你越来越迷惑.事实上,你根本就无法想象那些作者的无知和愚蠢,举的垃圾例子给你感觉就是对知识的侮辱!
好了,下面我用一句话给你概括虚函数的作用,再用一个例子让你去体会.
1、基于向上类型转换,基类通过虚函数可以对多个子类相似的功能实现统一管理.
2、例子:
A为基类,B、C为A的同级子类.virtual只需在基类中标识一次,子类无需重复标识.
class A
{
virtual void display(){cout