Вопросы по теме 'multiple-inheritance'

Вопрос о множественном наследовании, виртуальных базовых классах и размере объекта в C ++
Следующий код печатает 20, т.е. sizeof (z) равен 20. #include <iostream.h> class Base { public: int a; }; class X:virtual public Base { public: int x; }; class Y:virtual public Base { public:...
4437 просмотров
schedule 04.07.2022

Как Python super делает правильные вещи?
Я использую Python 2.5, поэтому этот вопрос может не относиться к Python 3. Когда вы создаете иерархию алмазных классов с использованием множественного наследования и создаете объект самого производного класса, Python поступает правильно (TM). Он...
28086 просмотров

Иерархия множественного наследования
Я давно ищу чистый способ сделать это. В моей проблеме существует 3 класса, не имеющих общего родителя, но каждый из которых имеет несколько методов с одинаковым именем (A.doSomething, B.doSomething, C.doSomething). Следовательно, имея одинаковую...
296 просмотров
schedule 09.05.2023

Как я могу заставить нос найти атрибуты класса, определенные в базовом тестовом классе?
Я запускаю несколько интеграционных тестов для базы данных, и я хотел бы иметь структуру, которая выглядит примерно так: class OracleMixin(object): oracle = True # ... set up the oracle connection class SqlServerMixin(object):...
1414 просмотров

Множественное наследование для разных типов шаблонов
Я работаю над обработкой событий на С++ и для обработки уведомлений о событиях у меня есть класс EventGenerator, от которого могут наследоваться любые события, генерирующие класс. EventGenerator имеет метод, который другие классы могут использовать...
2504 просмотров

Виртуальное наследование: базовый Ctor не вызывает наиболее производный класс?
class Base { public: Base(){} Base(int k):a(k) { } int a; }; class X:virtual public Base { public: X():Base(10){} int x; }; class Y:virtual public Base {...
413 просмотров

Абстрактная головоломка базового класса
В моем дизайне класса я столкнулся со следующей проблемой: class MyData { int foo; }; class AbstraktA { public: virtual void A() = 0; }; class AbstraktB : public AbstraktA { public: virtual void B() = 0; }; template<class...
297 просмотров

Java - коллизия имени метода в реализации интерфейса
Если у меня есть два интерфейса, оба совершенно разные по своим целям, но с одной и той же сигнатурой метода, как мне заставить класс реализовать оба без необходимости писать один метод, который служит для обоих интерфейсов, и писать некоторую...
40061 просмотров

почему vb.net не поддерживает множественное наследование?
Я видел некоторое обсуждение того, почему С# не реализует множественное наследование, но очень мало о том, почему оно не поддерживается в vb. Я понимаю, что и c#, и vb скомпилированы до промежуточного языка, поэтому они оба должны иметь схожие...
3874 просмотров
schedule 30.03.2023

Невозможно привести класс с множественным наследованием
Я пытаюсь реорганизовать некоторый код, оставив существующую функциональность в неприкосновенности. У меня возникают проблемы с преобразованием указателя на объект в базовый интерфейс, а затем получением производного класса позже. Программа...
3210 просмотров

Пример, когда встроенные компиляторы С++ не поддерживают множественное наследование?
Я немного читал о предыдущей попытке сделать стандарт C++ для встраиваемых платформ, где они прямо сказали, что множественное наследование плохо и, следовательно, не поддерживается. Насколько я понимаю, это никогда не было реализовано как основная...
1067 просмотров
schedule 27.05.2022

Есть ли способ наследовать свойства нескольких классов в C #?
Возможное дублирование: Множественное наследование в C # В следующем примере я хочу, чтобы Shirt автоматически наследовал свойства классов Material и Pigment . Возможно ли это вообще на C #? public class Material { public...
485 просмотров

Как избежать бесконечной рекурсии с помощью super()?
У меня есть такой код: class A(object): def __init__(self): self.a = 1 class B(A): def __init__(self): self.b = 2 super(self.__class__, self).__init__() class C(B): def __init__(self): self.c = 3...
5700 просмотров
schedule 30.12.2022

Избыточны ли интерфейсы при множественном наследовании?
Это не еще один вопрос о разнице между абстрактными классами и интерфейсами, поэтому дважды подумайте, прежде чем голосовать за его закрытие. Я знаю, что интерфейсы необходимы для тех языков ООП, которые не поддерживают множественное наследование,...
844 просмотров

Наследование в java и суперклассах (объект, класс)
Является ли суперкласс java.lang.Object всех пользовательских классов/объектов неявно унаследованным? Я думал, что Java не поддерживает множественное наследование. Причина, по которой я спрашиваю, заключается в том, что если я уже наследую от...
4105 просмотров
schedule 27.11.2022

Должен ли я почти всегда использовать виртуальное наследование в C ++?
Из этой записи я вижу, что виртуальное наследование добавляет sizeof (указатель) к объекту объем памяти. Есть ли у меня какие-либо недостатки, просто используя виртуальное наследование по умолчанию, а обычное наследование только при необходимости?...
6556 просмотров

Алмазная проблема с интерфейсами
Я использую много абстрактных классов, которые определяют только чистые виртуальные функции плюс виртуальный (не чистый) деструктор. Можно ли по-прежнему иметь алмазную структуру наследования без использования виртуального наследования? (Я хотел...
1511 просмотров

Сомнения в множественном наследовании в .net
Мы знаем, что все классы унаследованы от класса объекта в .net. Скажем, мы создаем класс с именем ClassA. Затем мы создаем еще один класс с именем ClassB, унаследованный от ClassA. Разве это не множественное наследование, потому что ClassB...
343 просмотров
schedule 10.02.2023

Нужна функция множественного наследования в C#. Что я делаю не так?
class UDPClient { } class LargeSimulator { } class RemoteLargeSimulatorClient : UDPClient, LargeSimulator { } Как говорится, если вам нужно множественное наследование, ваш дизайн не работает. Как мне сделать это на С# без необходимости...
5264 просмотров
schedule 30.06.2023

Где этот псевдоним определен
При программировании приложения на C++ мне нужен был класс, поддерживающий интерфейсы. После реализации этого с MI у меня был большой момент, когда я понял, что если я не буду осторожен, я введу бриллиантовое наследование и что я, вероятно, должен...
158 просмотров
schedule 13.07.2023