Вопросы по теме 'diamond-problem'
Проблема наследования алмазов
Просто для удовольствия я работаю над реализацией XUL для Windows. В XUL элементы пользовательского интерфейса могут быть записаны в XML следующим образом:
<window width="800" height="600"></window>
Я рассматриваю систему для...
766 просмотров
schedule
14.05.2023
Алмазная проблема с интерфейсами
Я использую много абстрактных классов, которые определяют только чистые виртуальные функции плюс виртуальный (не чистый) деструктор.
Можно ли по-прежнему иметь алмазную структуру наследования без использования виртуального наследования? (Я хотел...
1511 просмотров
schedule
21.06.2022
Смертельный алмаз смерти в Coq
Я пытаюсь создать довольно простую иерархию типов. Вот минимальный рабочий пример:
Record R0 : Type := {
R0_S :> Type
}.
Record R1 : Type := {
R1_S : Type;
op1 : R1_S -> R1_S
}.
Record R2 : Type := {
R2_S : Type;
op2 :...
369 просмотров
schedule
30.01.2023
Алмаз (множественное наследование) без элементов данных
Допустим, у нас есть обычный ромбовидный узор:
class A
{
public:
virtual char foo() = 0;
virtual ~A() {}
};
class B : public A
{
public:
virtual char foo() { return 'B';}
virtual ~B() {}
};
class C : public A
{
public:...
459 просмотров
schedule
01.05.2022
Алмазное наследство
Предположим, что классы D, E и F наследуются от базового класса B, а класс C наследуется от D и E.
(i) Сколько копий класса B появляется в классе C?
(ii) Как использование виртуального наследования изменит этот сценарий? Поясните...
914 просмотров
schedule
20.05.2022
Как заставить Doxygen показывать графики наследования алмазов
Doxygen имеет очень удобную функцию, благодаря которой он генерирует графы наследования из кода. Однако при использовании множественного наследования от классов с общей базой на графике показаны два отдельных базовых класса (хотя я использую...
476 просмотров
schedule
27.05.2024
Общая библиотека: состояние и алмаз
Допустим, у меня есть приложение, которое вызывает библиотеки liba.so и libb.so.
Обе эти библиотеки ссылаются на libc.so.
Если licc.so хранит некоторую информацию о состоянии, будет ли это состояние одинаковым для liba.so и libb.so?
Если да,...
250 просмотров
schedule
23.06.2023
Алмазная проба Scala, найти имя класса из экземпляра класса D
У меня есть четыре черты A, B, C и D в типичной иерархии задач с бриллиантами. Я реализовал метод calculate в трейте A, который проверяет экземпляр callerObject, выполняет некоторые вычисления и возвращает объект типа трейта A. Метод calculate...
129 просмотров
schedule
14.11.2022
Алмаз смерти и оператор разрешения области видимости (С++)
У меня есть этот код (проблема с бриллиантом):
#include <iostream>
using namespace std;
struct Top
{
void print() { cout << "Top::print()" << endl; }
};
struct Right : Top
{
void print() { cout <<...
1120 просмотров
schedule
01.01.2023
Преодоление неоднозначности алмаза в абстрактном классе
Я написал фрагмент кода, в котором у меня есть абстрактный базовый класс. Класс Тигр и Класс Лев фактически наследуются от Базового Класса Животных. Лигр наследует как Льва, так и Тигра. Когда я пытаюсь создать объект Liger и получить доступ к...
441 просмотров
schedule
18.01.2023
Алмазная проблема| Конструктор с параметрами не вызывается из родительского класса
Может кто-нибудь объяснить множественное наследование ниже, почему конструктор параметризации класса d не вызывается, даже если класс транспортного средства создается с использованием конструктора параметризации.
#include<iostream>
using...
384 просмотров
schedule
31.01.2023
Почему __init__ пропускается при выполнении Base.__init__(self) в множественном наследовании вместо super().__init__()?
Почему именно
A.__init__()
B.__init__()
D.__init__()
печатается по следующему коду? Особенно:
Почему C.__init__() не печатается?
Почему печатается C.__init__() , если я поставил super().__init__() вместо A.__init__(self)...
204 просмотров
schedule
15.12.2022