如果在基类写了一个无代码的空函数实现,那么基类函数名字变化了,子类忘记修改某个函数名字的话,编译器并不会发现。
查找这个问题至少要半个小时,或者几天。
如果是基类纯虚函数,就不会出现上面的问题。缺点是如果子类不需要覆盖的话,也要做空实现,否则编译不过,不过这个时间最多不超过半个小时。
探讨了在基类中定义无实现空函数可能导致的问题,特别是当子类未同步更改函数名时,编译器无法检测到错误。对比了使用纯虚函数的优势与局限。
如果在基类写了一个无代码的空函数实现,那么基类函数名字变化了,子类忘记修改某个函数名字的话,编译器并不会发现。
查找这个问题至少要半个小时,或者几天。
如果是基类纯虚函数,就不会出现上面的问题。缺点是如果子类不需要覆盖的话,也要做空实现,否则编译不过,不过这个时间最多不超过半个小时。

被折叠的 条评论
为什么被折叠?
