抽象类的成员函数中至少有一个没有实现的函数(即无函数体定义的函数)这句话哪里错了?

如题所述

这句话如果是“抽象类的成员函数中至少有一个纯虚函数”这就对了。问题的关键就在 “没有实现的函数(即无函数体定义的函数)”并不是纯虚函数的定义!!!注意纯虚函数的定义是“在基类中声明的虚函数,他在基类中没有定义具体的操作内容,要求各派生类根据实际需要给出各自的定义”,这也就说明了 纯虚函数并不等于没有实现的函数。只不过是,在“基类”中没有具体定义罢了。派生类是要给出定义的!人家纯虚函数有定义!并不是概念上的无函数体!只不过定义是在派生类里罢了!!!(如果派生类里也没有给出定义 则该派生类也是抽象类!)

对了,有一道很相似的题“关于纯虚函数,下列表述正确的是( )。
A.纯函数是没有给出实现版本(即无函数体定义)的虚函数
B.纯虚函数的声明总是以“=0”结束
C.派生类必须实现基类的纯虚函数
D.含纯虚函数的类不可能是派生类”

这道题答案是B 其中选项A错误原因同理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-09
“抽象函数” 和 “没有实现的函数” 并没有因果关系追问

不是抽象类必须有一个纯虚函数吗?纯虚函数不是无函数体定义的函数吗?

追答

虽然违反直觉,不过纯虚函数是可以有定义的。

本回答被提问者采纳
相似回答