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

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

我确实找到了一些类似标题的问题,但当我读到答案时,他们关注的是问题中非常具体的部分(例如,STL/容器)。

有人能告诉我为什么你必须使用指针/引用来实现多态性吗?我能理解指针可能会有所帮助-但是引用只会区分按值传递和按引用传递?

当然,只要您在堆上分配内存-这样您就可以进行动态绑定-显然这已经足够了。


白板的微信
浏览 583回答 3
3回答

回首忆惘然

我发现在这样的赋值时调用副本构造函数是非常有帮助的: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的函数。
打开App,查看更多内容
随时随地看视频慕课网APP