Свързани въпроси 'multiple-inheritance'

Интерфейс срещу множествено наследяване в C#
Имам набор от клас A и клас B и двата имат някои свойства. и друг клас C, който има свои собствени свойства. Всеки път, когато създавам екземпляр на клас C, искам да получа достъп до всички свойства на трите класа с objClassC. Как мога да...
4291 изгледи
schedule 27.09.2022

Използване на наследяване от конкретен клас за внедряване на чист виртуален метод C++
Искам да внедря чистите виртуални методи от интерфейс, използвайки имплементацията, предоставена от конкретен клас, без да се налага изрично да извиквам метода от конкретния клас. Пример: class InterfaceA{ public: virtual void foo() = 0;...
963 изгледи

Разрешено ли е на указател да променя стойността при единично наследяване?
Знам, че при множествено наследяване стойността на указателя може да се променя. Но такъв ли е случаят и с единичното наследяване? Или с POD видове за този въпрос? Вероятно знаете класическия пример: #include <iostream> using...
157 изгледи

Диамантен проблем
Минавах през проблема с диаманта и си помислих, че ще работи по различни сценарии. И това е един от тях, върху който работих. #include <iostream> using namespace std; class MainBase{ public: int mainbase; MainBase(int...
1865 изгледи

Множествено наследяване с помощта на интерфейс C#
Опитвам се да използвам селективни характеристики на два класа в 3-ти клас. Например, имам клас Button1, който създава красива граница на бутон и клас Button2, който пише текста в цветен формат. Сега тези класове ми се предоставят от доставчици на...
1907 изгледи
schedule 11.10.2022

Как да споделяте код между страници и главни страници без многократно наследяване/дублиране на код?
Прочетох въпроси/отговори , обясняващи, че няма множествено наследяване в C# че дори не се нуждаем от него и че създава твърде много проблеми. Сега работя върху проект, в който наистина не разбирам как мога да правя неща без множествено...
1884 изгледи

Двусмисленото инжектирано име на клас не е грешка
Това, което прочетох в стандарта C++ за имена на инжектирани класове, противоречи (както го виждам) с поведението на примерна програма, която ще представя скоро. Ето какво прочетох: #P2# #P3# #P4# #P5# От тях разбирам, че следното е...
2404 изгледи

Защо не мога да използвам наследяване за реализиране на интерфейс в C++?
Възможен дубликат: Имплементиране на абстрактен клас членове в родителски клас Защо C++ не позволява на базовите класове да реализират наследения интерфейс на производен клас? Имайки предвид тези обекти: struct A { virtual...
623 изгледи
schedule 05.11.2023

Плавни интерфейси и множествено наследяване в C#
Този въпрос е подобен на този . Разликата е, че бих искал да имам два базови класа. Пример: public class Circle { private string _radius { get; set; } public Circle Radius(string radius) { _radius = radius;...
352 изгледи

Диамантено наследяване (C++)
Знам, че наследяването на диаманти се счита за лоша практика. Въпреки това имам 2 случая, в които смятам, че наследяването на диаманти може да пасне много добре. Искам да попитам бихте ли ми препоръчали да използвам diamond inheritance в тези случаи...
14722 изгледи

Защо не мога да наследя от dict AND Exception в Python?
Получих следния клас: class ConstraintFailureSet(dict, Exception) : """ Container for constraint failures. It act as a constraint failure itself but can contain other constraint failures that can be accessed with a dict...
4331 изгледи
schedule 20.12.2023

Как да създадем Java клас, който реализира един интерфейс с два генерични типа?
Имам общ интерфейс public interface Consumer<E> { public void consume(E e); } Имам клас, който използва два типа обекти, така че бих искал да направя нещо като: public class TwoTypesConsumer implements Consumer<Tomato>,...
62101 изгледи

C++ Множествено наследяване с интерфейси?
поздрави на всички Произхождам от Java и имам затруднения с множественото наследяване. Имам интерфейс, наречен IView, който има метод init(). Искам да извлека нов клас, наречен PlaneViewer, прилагащ горния интерфейс и да разширя друг клас....
17223 изгледи

c++ Проверете дали най-производният клас на базова референция има друга база
Ето примерен код на поведението, което бих искал да видя: // Example program #include <iostream> #include <string> #include <type_traits> #include <vector> class BaseA { public: BaseA() { }; }; class BaseB { public:...
71 изгледи
schedule 14.10.2022

Множествено наследяване в java
Java не позволява наследяване от множество класове (все пак позволява наследяване от множество интерфейси.), Знам, че е много в съответствие с класическия проблем с диаманта. Но моите въпроси са защо java не позволява множествено наследяване като...
5391 изгледи

Защо виртуалното наследяване не работи в този случай?
Имам код, показан по-долу. XBase и XBar са класове от библиотека X , така че не мога да ги променя. #include <iostream> using namespace std; // -- library stuff -- I can't change this struct XBase { virtual void foo() = 0; };...
121 изгледи
schedule 30.01.2024

Елиминирайте дублиращите се записи от C++11 променливи аргументи на шаблона
Използвам променливи шаблони с множествено виртуално наследяване в C++, за да агрегирам типове в една дефиниция на структура. Ето примерен набор от структури: struct meas { int i; }; struct meas2 : public virtual meas { int j; }; struct meas3 :...
2598 изгледи

Намерете всички класове, които произлизат от определен базов клас и ги добавете към регистъра
Имам базов клас, наречен BaseStatus, който изглежда така: public class BaseStatus { public int UnitId { get; protected set; } public UInt16 StatusValue { get; protected set; } public string StatusCode { get;...
623 изгледи

Абстрактен клас + mixin + множествено наследяване в python
И така, мисля, че кодът вероятно обяснява какво се опитвам да направя по-добре, отколкото мога с думи, така че ето го: import abc class foo(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod def bar(self): pass class...
14014 изгледи

Множествено наследяване и този указател
Да предположим, че имам тази структура: struct vector_data { double x, y; double& operator[](size_t index) { return * (static_cast<double*>(static_cast<void*>(this)) + index); } }; Операторът [] трябва...
3367 изгледи