3

引用可以用来实现函数覆盖吗?我可以有一个指向派生类对象的基类引用,然后获得后期绑定的特性吗?

4

2 回答 2

6

是的,但多态性不像 Java 等某些语言那样是自动的。您必须virtual在基类中声明该函数。

于 2013-07-11T15:12:49.480 回答
1

是的。原因是,在 C++ 中,派生类对象包含一个隐藏指针,指向详细说明对象实际类型的记录。即使引用绑定了有问题的对象,指针和记录也会保留。

正如@Simon 所观察到的,这假设您已经在基类中声明了函数 virtual 。(否则,所需的隐藏指针不存在。)

于 2013-07-11T15:19:14.770 回答