gpt4 book ai didi

c# - 每个实例或每个对象的虚拟表?

转载 作者:行者123 更新时间:2023-11-28 03:54:50 26 4
gpt4 key购买 nike

我已经阅读了这个试验,但我仍然不明白它的核心例如:

public static void Main()
{
person []p = new person[]{new student(),new worker()};
}

public class person
{
public void f1() { }
public virtual void f2() { }
}
public class student:person
{
public override void f2() { }
}

public class worker:person
{
public override void f2() { }
}

p[0] 是否有它自己的虚拟表作为一个实例,所以 p[1] 有一个带有 f2 的条目,所以每个实例都有它自己的虚拟表?

是否每个对象都有自己的虚拟表?

最佳答案

通常,每种类型只有一个 vtable,然后每个对象都包含一个指向其类型的 vtable 的指针。然而,我相信大多数继承实现是未定义的——也就是说,它可以以它选择的任何方式实现。

关于c# - 每个实例或每个对象的虚拟表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com