c++多态的函数选择
时间: 2023-12-16 17:04:18 浏览: 130
c++多态的函数选择是在运行时动态确定的。当使用基类指针或引用调用虚函数时,实际调用的是指向派生类对象的虚函数表中对应的函数。这种动态的多态行为称为动态多态。
静态多态是在编译时确定的,当使用基类指针或引用调用非虚函数时,会根据指针或引用的静态类型确定调用的函数,而不会考虑动态类型。
因此,c++多态的函数选择取决于指针或引用的静态类型和动态类型。如果指针或引用的静态类型是基类,但实际指向的是派生类对象,那么调用的将是派生类对象中对应的虚函数。如果使用的是非虚函数或者静态函数,则调用的将是指针或引用的静态类型中定义的函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [c++多态及虚函数表内部原理实战详解](https://blog.csdn.net/bitcarmanlee/article/details/124830241)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++多态:静态多态(函数地址早绑定),动态多态(函数地址晚绑定)虚函数表,虚析构函数重写。](https://blog.csdn.net/qq_51004011/article/details/125600352)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文