![]() |
1
2
1不,它们不一样。您用两个不同的名称声明了两个不同结构。编译器会将它们视为完全不同。这类似于说
这两个是一样的吗?它们有相同的成员这一事实不足以让编译器认为它们是相同的。但是,在我的例子中,由于他们确实共享相同的成员,您可以通过将一个成员的地址明确地转换为另一个成员来逃脱惩罚:
和
2如果函数调用Binary_Stream_Read_Write_Intf或Binary_Sream_Read_Intf,则为否。编译器只接受该类或从中继承的任何类,并且两个类都不是另一个类的后代。(不过,你可以说他们是兄弟姐妹。)然而,如果函数调用的是Binary_Stream_Write_Intf或Binary_Sream_Read_Intf,那么你可以,因为这是对他们共同的父级的调用。和往常一样,如果没有共同的继承,那么你就无法替代。如果函数调用一个公共的超类,是的,那么任何一个都可以。 3它们都继承自Binary_Stream_Read_Intf,所以是的。 |
![]() |
2
0
|
![]() |
Silverspur · “X是Y的模糊基”:多重继承噩梦 8 年前 |
![]() |
Aedoro · 扩展多个类的C++函数参数 8 年前 |
|
user6022430 · Python3.4多重继承调用特定构造函数 9 年前 |
![]() |
Mark van der Wilk · 用于重写继承方法的Mixin 9 年前 |
![]() |
pasha · 是否可以为复制基的虚拟函数提供不同的定义? 9 年前 |
![]() |
Daniel · 如何使继承从父类到子类python34起作用 9 年前 |