覆盖基类方法

Joe*_*Joe 1 c# c++

是否可以在C++中覆盖基类方法,就像我们可以在C#中使用override关键字一样?

请帮助谢谢

SLa*_*aks 6

是.

只需制作基本方法virtual.
C++没有override关键字; 具有相同签名(包括参数类型和const-ness)作为virtual基本方法的任何方法都将覆盖它.

  • 您不需要创建基类虚拟.虚拟基类函数允许您正确使用多态.通常你可以覆盖基类函数,但是假设你有一个'shape'对象指针数组,你可以将该数组的实例元素转换为派生对象,如'square'或'triangle',如果你调用一个函数像draw()它通常会调用基类的绘制,除非它是虚拟的,然后它将查看数组实际指向的类型并调用派生类的函数 (2认同)