可以使用引用来实现函数覆盖吗?

时间:2013-07-11 15:10:04

标签: c++

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

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

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