重新定义一个继承而来的non-virtual函数可能会使得导致当函数被调用的时候,被调用的函数不是取决于调用的函数究竟属于的对象,而是取决于调用函数的指针或者引用的类型。
所以一般的说主要有两种观点在这方面:
1. 如果D非要重新继承而来的函数的话,那么说明他们的关系可能是不适合public继承的,因为public继承的实质是is-a, 那么也就不会出现前面那种所说的情况
2. 另一方面,这个函数可能声明的也有问题,作为virtual函数可能更加适合他的本意
重新定义一个继承而来的non-virtual函数可能会使得导致当函数被调用的时候,被调用的函数不是取决于调用的函数究竟属于的对象,而是取决于调用函数的指针或者引用的类型。