对于C++ 来说, 如果 Base 类的某个函数没有 virtual 关键字, 那该函数跟 Derived 类的同名函数(参数也相同)是没有什么关系的.
...如果反过来想, 相对于 C++, 那不是 java 的每个函数都是虚函数吗? ...关键字, 但是因为是分别存在与派生类和基类中的不同函数, 所以在不存在覆盖的关系(重载更不可能).
...编译先在 Derived 类中查找匹配 g(3.14f) 的函数, 他找到了 g(int) , 并且在 Derived 类中只有一个函数匹配....virtual 关键字, 好像就是在告诉你, 我这个函数可以给派生类同名字同参数的函数覆盖; 纯虚函数更是直接告诉派生类, 你一定要写一个同名字同参数的函数覆盖我, 哈哈!