Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шифр Цезаря (пароль) https://www.cyberforum.ru/ cpp-beginners/ thread1543449.html
Помогите сделать, пожалуйста. Чтобы пароль заменялся звездочками. П.5.18 Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
C++ Проверить является ли заданное число простым
помогите плиз!) Дано натуральное число N, проверить простое оно или нет . Увеличить его значение на натуральное число M. Проверить осталось ли оно простым (функцией оформить проверку числа: функция...
C++ Построить и вывести СДНФ для формулы алгебры логики В текстовом файле записан последний столбец таблицы истинности некоторой формулы алгебры логики для 3 переменных(например,P\vee \left(Q\wedge R \right)).Построить и вывести СДНФ для заданной формулы... https://www.cyberforum.ru/ cpp-beginners/ thread1543446.html C++ Структурная обработка исключений https://www.cyberforum.ru/ cpp-beginners/ thread1543445.html
допустим есть такой код, я пытаюсь структурное исключение преобразовать в обычное, путем отлова, но у меня почему то не ловит его :( void f(char *dest, const char *source, size_t size) { __try...
C++ Найти символы встречающиеся в тексте только один раз
Помогите заданием , плиз) вот условие задание: 15.Задан массив из k символов латинского алфавита. Вывести на экран в алфавитном порядке все символы, которые входят в этот массив по одному разу....
C++ Замена слов в файле звездочками https://www.cyberforum.ru/ cpp-beginners/ thread1543431.html
Задача: заменить последние слова в предложениях. Вот текст самого файла : Когда-то (помню с умиленьем) Я смел вас няньчить с восхищеньем, Вы были дивное дитя. Вы расцвели - с благоговеньем Вам...
C++ Для каждого числа заданной последовательности найти количество цифр 5 Добрый день! Прошу помощи в написании пограммы, ибо в c++ совсем не бум бум :( Задача такова: Вводится последовательность из N целых чисел. Для каждого числа последовательности найти... https://www.cyberforum.ru/ cpp-beginners/ thread1543426.html C++ Самая простенькая среда
Добрый день, еду в командировку, ноутбука своего там не будет, а мне нужно будет писать простенькие программы в консоле. Ноутбук будет у моего друга там, но у него нету компилятора никакого,...
C++ Найти количество двух- и количество трехразрядных чисел в последовательности Вводится последовательность из N целых чисел. Найти количество двух и количество трех разрядных чисел в последовательности (функцией оформить определние колва разрядов). В чем ошибка? Выводит... https://www.cyberforum.ru/ cpp-beginners/ thread1543414.html C++ Числа Фибоначчи второго порядка https://www.cyberforum.ru/ cpp-beginners/ thread1543401.html
Определить N-ый член последовательности чисел Фибоначчи второго порядка.
Не получается сделать таблицу замены C++
Добрый день. Есть программа, которая получается на вход 2 текста, один в открытом виде, другой-зашифрованный. Программа считает кол-во символов в каждом тексте и после каждого из текстов выводит...
C++ Что означает следующее выражение? char** SomeFunction(int num, int num1) { // some code }Мне не понятно зачем здесь указатели? может кто подскажет. Если, что внутри функции выполняется выделение памяти под двумерный массив... https://www.cyberforum.ru/ cpp-beginners/ thread1543392.html
1 / 1 / 1
Регистрация: 08.02.2020
Сообщений: 156
10.02.2020, 03:53 0

Ромб в множественном наследовании - C++ - Ответ 14241112

10.02.2020, 03:53. Показов 1630. Ответов 6
Метки (Все метки)

Ответ

Чтобы не плодить новую тему, спрошу тут Подскажите новичку в ООП, как это решить.

С обычным наследованием вроде разобрался кое-как, вот пробую разобраться во множественном. Есть класс А, в котором четыре свойства. От него наследуются классы B и C, в каждом из которых меняется одна из переменных, от них обоих наследуется еще один. На выходе рассчитываю получить класс D, в котором изменены две переменные. Насколько понимаю, это классическая проблема ромба - только из чтения статей я так и не понял, как ее решить

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
 
using namespace std;
 
class ClassA
{
  public:
         int A,
              B,
              C,
              D;
 
         ClassA (int ia, int ib, int ic, int id)
         {
              A = ia;
              B = ib;
              C = ic;
              D = id;
         }
};
 
class ClassB:  public virtual ClassA
{
  public:
         ClassB (int ia, int ib, int ic, int id): ClassA (ia, ib, ic, id)
         {
            B=15;
         }
};
 
 
 
class ClassC: public virtual ClassA
{
  public:
         ClassC (int ia, int ib, int ic, int id): ClassA (ia, ib, ic, id)
         {
            C=25;
         }
};
 
 
class ClassD: public ClassB ,  public ClassC
{
 //  ClassD (int ia, int ib, int ic, int id): ClassA (ia, ib, ic, id) { };
};
 
int main()
{
 
 
 
    ClassA  ExA(1,2,3,4);
 
 cout<<"ClassA A="<<ExA.A<<endl;
 cout<<"ClassA B="<<ExA.B<<endl;
 cout<<"ClassA C="<<ExA.C<<endl;
 cout<<"ClassA D="<<ExA.D<<endl<<endl;
 
 
     ClassB  ExB(1,2,3,4);
 
 cout<<"ClassB A="<<ExB.A<<endl;
 cout<<"ClassB B="<<ExB.B<<endl;
 cout<<"ClassB C="<<ExB.C<<endl;
 cout<<"ClassB D="<<ExB.D<<endl<<endl;
 
 
     ClassC  ExC(1,2,3,4);
 
 cout<<"ClassC A="<<ExC.A<<endl;
 cout<<"ClassC B="<<ExC.B<<endl;
 cout<<"ClassC C="<<ExC.C<<endl;
 cout<<"ClassC D="<<ExC.D<<endl<<endl;
 
 
    ClassD  ExD;
 
 cout<<"ClassD A="<<ExD.A<<endl;
 cout<<"ClassD B="<<ExD.B<<endl;
 cout<<"ClassD C="<<ExD.C<<endl;
 cout<<"ClassD D="<<ExD.D<<endl;
 
 
    return 0;
}


Вернуться к обсуждению:
Ромб в множественном наследовании C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2020, 03:53
Готовые ответы и решения:

Инициализация при множественном наследовании
Имеется иерархия типов. Во главе: базовый класс-интерфейс, далее один базовый класс, от него два...

Неоднозначность при множественном наследовании
Привет всем, столкнулся с проблемой при множественном наследовании классов. Надеюсь, кто-нибудь...

Конструктор при множественном наследовании
#include &lt;string&gt; class Worker // an abstract base class { private: std::string...

Конструкторы с параметрами при множественном наследовании
у меня есть класс, quotes который является базовым для двух классов moving_average и rsi...

6
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2020, 03:53

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Конфликт имен при множественном наследовании struct
Уважаемые гуру, помогите разрешить конфликт имён в приведённом ниже примере, не изменяя структуру...

Порядок вызова конструкторов при множественном наследовании
Здравствуйте, меня интересует вопрос, как изменить последовательность вызова конструкторов базовых...

Помогите найти ошибку при множественном наследовании
Помогите разобраться в наследовании Прилагаю код #include &lt;iostream&gt; using namespace...

Компилятор не видит класс при множественном наследовании
Есть два одноименных класса. Один класс - подкласс SomeClass. Другой класс - наследник первого...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.