虚函数是指这个函数的签名。而 这个虚函数在类中的实现不是,她是一个实实在在的成员函数。和普通的函数一样的。如果这个函数是虚函数,此时编译器会把其地址放在虚表中。所以这个函数有两个入口。第一个就是你这样呼叫,和普通的成员函数一致。第二个是通过引用呼叫,此时编译器会通过虚表来呼叫。此时需要添加一个修正 this 指针的转换函数。