Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
引用可以用来实现函数覆盖吗?我可以有一个指向派生类对象的基类引用,然后获得后期绑定的特性吗?
是的,但多态性不像 Java 等某些语言那样是自动的。您必须virtual在基类中声明该函数。
virtual
是的。原因是,在 C++ 中,派生类对象包含一个隐藏指针,指向详细说明对象实际类型的记录。即使引用绑定了有问题的对象,指针和记录也会保留。
正如@Simon 所观察到的,这假设您已经在基类中声明了函数 virtual 。(否则,所需的隐藏指针不存在。)