了解 C 中的继承和对象初始化以实现虚拟函数访问
在 C 中,继承允许创建继承属性和行为的派生类来自基类。然而,C 中对象的初始化顺序会影响虚函数的行为。
问题:
当在 C 中使用具有 virtual 的基类构造对象时函数,为什么该函数会表现出来出乎意料吗?
答案:
这里的关键概念是基类和派生类的初始化顺序。在 C 中,基类在派生类之前构造。
说明:
在提供的示例中:
要纠正此行为:
为了确保在对象构造期间调用派生类的 value() 函数,您应该使用派生类实例的地址显式初始化基类:
通过传递派生对象的地址,您可以指示基本构造函数在派生对象上调用 value() 函数,有效地将对象“成熟”为其完整的派生形式。
以上是为什么虚拟函数在 C 对象初始化期间表现异常?的详细内容。更多信息请关注PHP中文网其他相关文章!