父会员功能中虚拟函数的C 行为

C++ Behavior of virtual functions in parent member function

本文关键字:函数 行为 虚拟 功能      更新时间:2023-10-16

我对在父构件函数中使用虚拟函数的行为有疑问。

ex

class A {
private:
   vars;
   virtual fn_v() {.....}
public:
   fn_A() {
     fn_v();
     ....
   }
class B : public A {
   ....
public:
   fn_v() {.....}

当我从B的对象调用fn_A()时,将调用哪个虚拟函数的实现?

当我从B的对象调用FN_A((时,将调用哪个虚拟函数的实现?

当然,B中的一个。这就是虚拟函数的含义。如果称为该方法的对象是覆盖虚拟方法的类,则将调用覆盖物。这是相当基础的。