虚函数调用一定要动态联编

来源:百度知道 编辑:UC知道 时间:2024/05/23 01:48:33
请问虚函数调用时 一定要动态联编吗?我觉得是 可是答案说不一定 谁能举出不用的呢 谢谢

不是很清楚
http://www.cppblog.com/cctoqh/articles/13629.html

答案是对的,并不是调用虚函数时一定是动态联编的。
具体要看是通过谁调用的,如果是通过对象指针或是引用调用虚函数,那么虚函数是动态联编的;但如果就是通过某个确定的对象调用的,那就不是动态联编的。

虚函数是动态联编的基础;虚函数是成员函数,而且是非静态的成员函数;虚函数在派生类中可能有不同的实现,当使用这个成员函数操作指针或引用所标识的对象时,对该成员函数的调用采用动态联编方式,即:在程序运行时进行关联或束定调用关系;
动态联编只能通过指针或引用标识对象来操作虚函数;如果采用一般的标识对象来操作虚函数,将采用静态联编的方式调用虚函数