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

为什么没有指针/引用,多态性就不能工作?

为什么没有指针/引用,多态性就不能工作?

C++
白板的微信 2019-07-06 16:44:52
为什么没有指针/引用,多态性就不能工作?我确实找到了一些类似标题的问题,但当我读到答案时,他们关注的是问题中非常具体的部分(例如,STL/容器)。有人能告诉我为什么你必须使用指针/引用来实现多态性吗?我能理解指针可能会有所帮助-但是引用只会区分按值传递和按引用传递?当然,只要您在堆上分配内存-这样您就可以进行动态绑定-显然这已经足够了。
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

我发现在这样的赋值时调用副本构造函数是非常有帮助的:

class Base { };    class Derived : public Base { };Derived x; /* Derived type object created */ Base y = x;
 /* Copy is made (using Base's copy constructor), so y really is of type Base. Copy can cause "slicing" btw. */

由于y是类Base的实际对象,而不是原来的对象,因此调用它的函数是Base的函数。


查看完整回答
反对 回复 2019-07-06
  • 3 回答
  • 0 关注
  • 582 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号