multiple-inheritance相关内容

非多态继承是否发生指针调整?

非多态继承是否需要此指针调整?在所有情况下,我都看到此指针调整讨论了通过关键字virtual使用涉及多态继承的示例. 我尚不清楚非多态继承是否需要此指针调整. 一个非常简单的例子是: struct Base1 { void b1() {} }; struct Base2 { void b2() {} }; struct Derived : public Bas ..
发布时间:2020-05-13 19:14:10 C/C++开发

通过引用传递:多个接口的子级

将实现多个接口的对象传递给仅需要其中一个接口的函数时,出现构建错误. 我正在开发一个通讯包. 该程序包具有一个接收器类和一个发送器类. Receiver类使用通知接口Receive_Notifier(函数对象)来处理通知.同样,Sender类使用通知接口Send_Notifier来处理通知. interface Send_Notifier { void sending_text ..
发布时间:2020-05-13 19:14:05 C#/.NET

PHP伪造了多重继承-在扩展类中提供了在伪父类中设置的对象属性

我使用了请注意,A类实际上是对B类的扩展,伪造是为了对C类进行扩展. 在我需要在C类的函数中设置一个属性集才能在A类中使用之前,它工作正常.考虑一下该代码的一些经过编辑的版本,在该版本中,我从A类的函数内部调用C类的函数: - //Class A class A extends B { private $c; public function __construct() { ..
发布时间:2020-05-13 19:14:03 PHP

从继承的类实现抽象方法

我正在尝试做以前从未真正做过的事情.我基本上有3节课.类A是具有纯虚拟方法的抽象类,类B是一个单独的类,其中包含与类A中的虚拟方法同名的方法.我试图将类C中的所有内容捆绑在一起.继承C中的类B和A(多重继承),并使用类B中的方法实现类A中的方法.这种方式我创建了一种模块化方法.下面的示例是我的代码的非常简化的版本. class A { virtual int methodA() = 0; v ..

使用`#ifdef`或继承进行交叉编译更好吗?

要遵循我的关于虚拟继承和多重继承的先前问题(在跨平台方案中)-阅读一些答案后,我想到可以通过保留服务器和客户端类并替换特定于平台的类来简化模型#ifdefs(这是我本来要做的). 使用此代码会更简单吗?这意味着至少文件更少!缺点是它会创建一个“丑陋的"类,并且由于在整个地方都存在#ifdefs,因此很难读取Foobar类.请注意,我们的Unix Foobar源代码永远不会传递给编译器,因此它 ..

Python abc模块:扩展抽象基类和异常派生类会导致令人惊讶的行为

扩展抽象基类和从“对象"派生的类都可以按预期工作:如果您尚未实现所有抽象方法和属性,则会出现错误. 奇怪的是,将对象派生的类替换为扩展了"Exception"的类,使您可以创建未实现所有必需的抽象方法和属性的类的实例. 例如: import abc # The superclasses class myABC( object ): __metaclass__ = abc ..
发布时间:2020-05-13 19:13:47 Python

__init__是一个类方法吗?

我一直在研究Python的超级方法和多重继承.我读到类似的内容,例如当我们使用super调用在所有基类中都有实现的基方法时,即使具有各种参数,也只会调用一个类的方法.例如, class Base1(object): def __init__(self, a): print "In Base 1" class Base2(object): def __init ..
发布时间:2020-05-13 19:13:44 Python

Java:为什么使用多个接口而不是多个继承?

可能的重复项: 为什么Java允许多重继承从接口而不是抽象/具体类中获取 为什么Java中没有多重继承,但允许实现多个接口 为什么不是从多个类(Java不允许)继承,为什么要告诉我们实现多个接口呢? 当然,从多个类继承的要点是继承其功能-如果您必须手动重新插入功能(对于每个类扩展一组接口),使用接口的意义是什么?无法保证实现同一组接口的两个类将提供相同的功能-还是我错过了什么? ..
发布时间:2020-05-13 19:13:34 Java开发

Python C API中的多重继承

如何使用从多个其他类型继承的Python C API创建类型? Python文档提供了一个从另一种类型继承的类型的示例,但是没有找到任何示例或提及多重继承. 解决方案 假设您有一个名为test的模块,其中包含以下类: class A: a = 1 class B: b = 2 想法是创建一个新类C,该类继承自A和B: import test cla ..
发布时间:2020-05-13 19:13:31 Python

Python装饰一个类以更改父对象类型

假设您有两个类X& Y.您想通过向类添加属性来装饰这些类,以产生新的类X1和Y1. 例如: class X1(X): new_attribute = 'something' class Y1(Y): new_attribute = 'something' 对于X1和Y1, new_attribute 始终相同. X& Y没有任何有意义的关系,除了不可能多重继承.还有一组 ..
发布时间:2020-05-13 19:13:29 Python

编译器的此指针,虚函数和多重继承的详细信息

我正在阅读Bjarne的论文:在第370页的第3节中,Bjarne说:“编译器将成员函数的调用转换为带有“额外"参数的“普通"函数调用;“额外"参数是指向该对象的指针成员函数被调用." 我对这个论点感到困惑.请参见以下两个示例: 示例1 :(第372页) class A { int a; virtual void f(int); virtual void ..