注意跨域不可重载
1.为什么要设计虚函数
我们知道派生类会拥有基类定义的函数,但是对于某些函数,我们希望派生类各自定义适合于自己版本的函数,于是基类就将此函数定义为虚函数,让派生类各自实现自己功能版本的函数(但是也可以不实现)
我们通常在类中将这两种成员函数分开来:
一种是基类希望派生类进行覆盖的虚函数
一种是基类希望派生类直接继承而不要改变的函数
A.如果派生类的函数与基类的函数同名,但是参数不同,此时不论有无virtual关键字,基类的函数都将被隐藏,注意别与重载混淆)
B.如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字,此时基类的函数被隐藏(注意别与覆盖混淆)
链接地址:https://blog.csdn.net/gamekit/article/details/105500189
https://blog.csdn.net/gxut555/article/details/7906572?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-1-7906572-blog-119985419.pc_relevant_aa&spm=1001.2101.3001.4242.2&utm_relevant_index=3