c ++和java中的空派生类的大小是多少?

时间:2018-02-21 13:17:32

标签: c++ sizeof

我有一些相关的答案,例如Why the size of empty class that is derived from two empty classes is 2?,但没有清楚地得到我的问题的答案。

interface PI1
{
    default void show()
    {
        System.out.println("Default PI1");
    }
}

interface PI2
{
    default void show()
    {
        System.out.println("Default PI2");
    }
}

class TestClass implements PI1, PI2
{
    public void show()
    {
        PI1.super.show();
        PI2.super.show();
    }

    public static void main(String args[])
    {
        TestClass d = new TestClass();
        d.show();
    }
}

这个JAVA程序是否显示多重继承?

1 个答案:

答案 0 :(得分:1)

在C ++中,最小大小为1.

然而,另一个问题是关于来自相同类型的基类的多重继承。两个相同类型的对象不能具有相同的地址,因为它们不会 不同的对象。

地址是对象身份的重要组成部分。

因此,如果您有两个相同类型的对象,则最小大小为2.

这一切都不会发生在Java中,因为没有多重继承。