c++问题,求助求助!必采纳 100 谢谢... 谢谢 展开 我来答 2个回答 #热议# 发烧为什么不能用酒精擦身体来退烧? 以林Code 2020-06-28 · 科普各类科学技术,带大家涨知识。 以林Code 采纳数:35 获赞数:40 向TA提问 私信TA 关注 展开全部 题主你好,你的代码写错了,你应该是想实现多态是吧,你的a *p = new a[3]; 此时是生成一个有3个a类也就是父类的对象,而你用p[1] = pig2; p[2] = pig3; 此时并不是你的指针指向了对象,而是你将 b c 类和 父类有的东西进行了赋值,也就是空,所以你show函数打印的也是a类的函数。你应该这样修改 main函数应该改为然后你的show函数参数应改为如有不懂 欢迎追问! 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 CraZy_小猪 2020-09-24 · TA获得超过792个赞 知道小有建树答主 回答量:871 采纳率:55% 帮助的人:273万 我也去答题访问个人页 关注 展开全部 这个题考验的是虚函数,虚函数的调用规则就是:new的是谁的对象,就调用谁的方法。从当前的Code上来看:a *p = new a[3];,显然p new出来的对象是a。其次,中途对p的指针进行了赋值操作,但是它的虚函数表(vftable)是没有变更的,所以调用的还是a的sound()。因为a类中的sound()什么都不执行,所以什么都不输出来。以上,有问题请联络。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2019-10-26 c++问题,求助! 2016-10-12 c++问题求助 2011-06-06 C++问题求助 2020-04-28 C++问题求助!谢谢!!! 2011-01-11 C++问题求助! 2009-12-06 C++编程问题,求助!!!!! 2012-10-28 c++问题求助!! 2 2013-05-08 c++的问题,求助,各位大神,程序如下 1 更多类似问题 > 为你推荐: