为了账号安全,请及时绑定邮箱和手机立即绑定

c++ virtual关键字没用

c++ virtual关键字没用

C++
kkkbbb 2016-04-10 21:37:12
为什么我用code::block集成开发环境 virtual完全没有用啊  ,比如我写一个类B继承类A, 析构函数不加virtual照样继承给子类 ,  A和B类中有一个函数print()打印出类名   A *a=new B; B b;这样  我调用 b->print() 和 a->print() 打印出两个this is b, 在print()函数前加上一个virtual关键字还是这样。。。这是怎么回事啊
查看完整描述

2 回答

?
喃喃说

TA贡献5条经验 获得超0个赞

你应该好好看看覆盖和隐藏这块儿

查看完整回答
反对 回复 2016-04-13
?
onemoo

TA贡献883条经验 获得超454个赞

A *a,这个a是指向A类型的,通过a访问的print肯定是A的版本,不会打印出“this is b”的。我也验证过了,请再检查下代码是否有误。

查看完整回答
反对 回复 2016-04-11
  • 2 回答
  • 0 关注
  • 1376 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信