Twoo8
2016-06-23 15:36
采纳率: 50%
浏览 1.3k
已采纳

一道选择题求大神解释

下列关于虚函数的描述,不正确的是( )
a.全局变量在任何函数体内都有效
b.不能将析构函数说明为虚函数
c.虚函数不能是静态的成员函数
d.为了实现多态性,派生类必须重新定义基类的虚函数

这道选择题怎么做,求大神们给个解释。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • focusnothing 2016-06-24 01:48
    已采纳

    不正确的只有D.
    虚拟函数不一定需要重新定义和实现,
    只有纯虚函数才需要实现(如果你的子类不是抽象类)
    a的说法确实是不正确和恰当的, 因为全局变量和虚函数没关系可以说这答案跑题了.
    而且全局变量也有范围的.并不是在所有的函数内都一定可见.

    点赞 打赏 评论
  • blownewbee 2016-06-23 15:46

    选择d,只有抽象函数才必须在派生类实现。虚函数不一定。

    点赞 打赏 评论
  • Valtava 2016-06-23 17:17

    我觉得除了C都有问题。。。
    a. 当函数体内有同名变量时,全局变量被屏蔽,因此无效
    b. 存在派生关系的类,基本析构都是虚函数
    d. 楼上已经解释了

    点赞 打赏 评论
  • 尚书左仆射 2016-06-24 01:13

    b和c有问题,其它应该是对的。

    点赞 打赏 评论
  • 无影树下 2016-06-24 05:48

    B肯定不正确,析构函数作用是释放对象实例化时创建的资源,子类析构时候,可能需要释放自己单独于父类申请的资源,所以提倡声明析构函数为虚函数

    点赞 打赏 评论

相关推荐 更多相似问题