动态绑定调用路径实验室

同一个调用表达式,究竟由静态类型决定,还是由运行时对象决定?组合表达式形态、实际对象和调用方式,沿着路径看到答案。

配置调用现场

表达式形态
实际对象类型
调用类型
12
¥80
10
20%

调用路径

表达式的静态类型Quote&
运行时动态类型BulkQuote
最终调用落点BulkQuote::net_price
发生对象切片:派生类子对象没有进入这个 Quote 值对象,运行时只剩 Quote。

          
类型节点最终调用落点

发生动态绑定

计算结果
¥768.00

规则锚点:虚函数只有通过引用或指针调用时,才根据动态类型分派;按值传递会切片;显式限定名会关闭虚分派;非虚成员始终由静态类型决定。