代码之家  ›  专栏  ›  技术社区  ›  Rohit Potter

c++和java中的空派生类的大小是多少?[已关闭]

  •  -1
  • Rohit Potter  · 技术社区  · 6 年前

    我有一些相关的答案,比如 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 回复  |  直到 6 年前
        1
  •  1
  •   Bo Persson tox    6 年前

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

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

    地址是对象标识的重要组成部分。

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

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