在c++中,什么时候使用虚函数而不是重写函数最有利,反之亦然

When is it most beneficial to use a virtual function instead of overriding and vice versa in C++

本文关键字:函数 重写 反之亦然 什么时候 c++      更新时间:2023-10-16

我对c++相当陌生,我很好奇什么时候使用虚函数而不是在c++中使用重写,反之亦然?

当您在基类中将函数定义为虚函数时,您是在向编译器表明您希望派生类中的函数运行,即使您使用对基类的引用。这会导致一个运行时决策。

如果基类函数不是虚函数,则运行哪个函数取决于引用。这是编译时的决定。

虚函数用于在面向对象设计中实现多态性。当派生类中有同名函数时,没有将基类中的函数标记为虚函数,往往会导致错误。这就是为什么大多数编译器会将此标记为警告。