问题描述:纯虚函数在派生类里明明补写出来了定义,但是实际发现是无效的,派生类因没有定义该纯虚函数同样被编译器视为了抽象类。
原因很有可能是:基类和派生类的虚函数必须类型、名字、参数数量、名字、类型、以及函数前后缀的各种其他属性(比如const等)必须完全一致!否则会被认为不是同一个函数。无法产生“覆盖”的效果,而可能仅仅是“重载”,这样就会有各种意想不到的问题了。比如我便是在派生类里重写该纯虚函数时末尾没有加const,从而产生了文章开头的问题。
作者:lishu14
来源:CSDN
原文:https://blog.csdn.net/lishu14/article/details/82878850
版权声明:本文为博主原创文章,转载请附上博文链接!