C++中的动态绑定

Arj*_*jun 5 c++ dynamic-binding

我需要对C++中的动态绑定做一些澄清.我对以下内容感到困惑:

  1. 在C中,您可以拥有一组函数指针并分配相同签名的不同函数,并根据索引调用它们; 这是动态绑定吗?

  2. 在C++中,您可以拥有一个基类指针数组,但是您可以通过将派生类对象地址分配给基类类指针并使用虚函数来调用派生类的不同函数,这是动态绑定吗?

  3. 哪个术语是正确的 - Dynamic binding或者Link-Time Binding

Jar*_*Par 6

答案

  1. 不.这比动态绑定更接近动态调度.动态绑定是指在运行时绑定命名方法的方式.这里没有名字.
  2. 是.如果方法是虚拟的,那么这就是动态绑定的定义.该名称在编译时已知,但在不知道运行时对象类型的情况下无法确定调用的方法
  3. 我不确定你的意思.动态绑定是更惯用的术语.