我对继承方法的虚拟属性感到困惑。
假设我们有 4 个类:A 类、B 类、C 类和 D 类。这些类通过这种方式继承:A -> B -> C -> D,其中 A 是基类。
到了这个时候,我确信这一点:在基类(A 类)中以 virtual 开头的类方法声明,使得从基类派生的所有类的方法都是虚拟的,包括派生类的派生类。(B 和 C 类方法确定为虚拟)。
混乱就在这里。如果在基类 A 中没有任何虚拟成员怎么办。相反,假设 B 类声明了一个虚拟方法。我假设,此更改将使属于继承链(C 和 D 类)的所有派生类的函数成为虚拟函数。所以从逻辑上讲,B 代表 C 和 D,是它们的“基类”,对吧?还是我错了?