3 ms·
Yes, it is doable, but what if there several memory-layout incompatible classes which implement both methods? E.g, A implements virtual doSomething() and B and
by thesz 6y ago
Yes, it is doable, but what if there several memory-layout incompatible classes which implement both methods?
E.g, A implements virtual doSomething() and B and C inherit from A, add some different fields and both implement doSomethingElse() which they should overload for their inheritance from class Z.
- andrekandre 6y agogood question, i guess it depends on the language... multiple inheritance without namespacing would either result in either method getting chosen randomly, or a build error... for example, in swift you cant even inherit from two protocols that have default implementations... and i think in c++ you also cant call the method without specifying namespace... so, i suppose, if you wanted to go all the way, you could even do namespace inference def sepulka(zagizuga) zagizuga::Something.doSomething() zagisuga.doSomethingElse() so zagizuga is infered to be some type that inherits from `Something` namespace and expects that namespace to defined `doSomething()` function, in addition to providing `doSomethingElse()` though that seems getting a bit fragile irl maybe...