c++ - 不同场景下的virtual关键字

标签 c++ virtual

我想出了两种使用 virtual 的不同情况。

  • 如果 baseClass 有一个定义为 virtual 的函数,那么 derivedClass 将覆盖该函数。

  • baseClass::~baseClass() 应该被定义为virtual,如果有任何派生自它的类的话。这里的意思是,首先发生派生类销毁,然后发生基类销毁。

是否还有其他使用virtual的情况?

最佳答案

还有虚继承,其中基类被间接引用。

In C++, what is a virtual base class?

关于c++ - 不同场景下的virtual关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622844/

相关文章:

c++ - UDP 服务器停止接收数据

c++ - 虚拟类的非虚拟版本

c# - 如何在不使用鼠标的情况下执行虚拟鼠标单击 C#

c++ - 返回对象时如何更改返回对象基类函数的实现 C++

internet-explorer - 如何运行 Microsoft Windows XP VHD,以使用 IE 6.0 进行测试,并具有有效/未过期的日期?

c++ - 返回类型的问题

c++ - 在 C 的 char* 字符串中使用 NULL

c++ - GetDC(NULL) 获取主监视器或虚拟屏幕?

c++ - 当前实例化是什么?

c++ - 指向虚函数的指针与指向非虚函数的指针有何不同?