Tag: virtual functions

在构造函数中调用虚方法:Java和C ++之间的区别

在Java中: class Base { public Base() { System.out.println(“Base::Base()”); virt(); } void virt() { System.out.println(“Base::virt()”); } } class Derived extends Base { public Derived() { System.out.println(“Derived::Derived()”); virt(); } void virt() { System.out.println(“Derived::virt()”); } } public class Main { public static void main(String[] args) { new Derived(); } } 这将输出 Base::Base() Derived::virt() Derived::Derived() Derived::virt() 但是,在C ++中,结果是不同的: Base::Base() […]