Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 25.01.2019
Сообщений: 45

На основе указанных классов создать набор классов с использованием множественного наследования

04.02.2020, 12:56. Показов 2949. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет». Создать базовый класс «Тип» и производные от него классы «Грузовой» и «Пассажирский». На основе этих классов создать набор различных классов с использованием множественного наследования.

как написать программу со списком ?
Помогите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2020, 12:56
Ответы с готовыми решениями:

Создать иерархию классов с использованием механизма наследования
Создать иерархию классов с использованием механизма наследования. В качестве базового класса должен выступать класс, разработанный Person....

Разработать программу с использованием наследования классов
Разработать программу с использованием наследования классов, реализующую классы: • зверь; • кошка; • медведь. Используя виртуальные...

Построение иерархии классов с использованием наследования
Доброго времени суток. У меня вот такая проблема. Недавно взял подкурс по С#. ПРоблема в том, что я пропустил одно занятие по Наследованию...

4
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
05.02.2020, 14:36
Evgeniy_21, ну и в чем проблема
C++
1
2
3
4
5
6
7
8
class X
{...};
class Y
{...};
class Z
{...};
class A : public X, public Y, public Z
{...};
0
0 / 0 / 0
Регистрация: 25.01.2019
Сообщений: 45
05.02.2020, 16:06  [ТС]
Создать набор классов согласно выбранному варианту задания. Реализовать процедуры ввода и отображения данных. Написать программу, в которой создаются объекты различных классов из иерархи и помещаются в список, после чего список просматривается. Сделать соответствующие методы (связанные наследованием) не виртуальными и посмотреть, как поведут себя экземпляры классов в этом случае.

Создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет». Создать базовый класс «Тип» и производные от него классы «Грузовой» и «Пассажирский». На основе этих классов создать набор различных классов с использованием множественного наследования.

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <string>
 
 
using namespace std;
// создания базового скаласса . 
class Tran {
private:
    string type;// тип транспорта 
    int maxSpeed;// макс скорость 
 
    int curSpeed;// стредняя скорость 
public:
    Tran(string t, int ms);
    int getMaxSpeed();
    int getSpeed();
    void setSpeed(int sp);
    virtual void Go();
};
 
 
Tran::Tran(string t, int ms) {
    type = t;
    maxSpeed = ms;
    curSpeed = 0;
}
 
int Tran::getMaxSpeed() { return maxSpeed; }
 
int Tran::getSpeed() { return curSpeed; }
 
void Tran::setSpeed(int sp) { curSpeed = sp; }
 
void Tran::Go() {
    cout << " транспорт двигался со коростью  " << getSpeed() << '\n';
}
 
 
 
 
 
class car : public Tran {
 
public:
    car(string t, int ms);
    //  void Go();
    void GocarmaxSpeed();
    void GocarcurSpeed();
};
 
car::car(string t, int ms) : Tran(t, ms) {
}
 
 
void car::GocarmaxSpeed() {
    GocarmaxSpeed();
    cout << "машина едет на максимальной скорости \n";
    setSpeed(getMaxSpeed());
    Tran::Go();
}
void car::GocarcurSpeed() {
    GocarcurSpeed();
    cout << "машина едет на средней скорости \n";
    setSpeed(60);
    Tran::Go();
}
 
 class Airp :public Tran {       // класс самалёта .
 public:
    Airp(string t, int ms);
    void Fly();
 };
Airp::Airp(string t, int ms):Tran(t, ms) {
}
 
void Airp::Fly() {
    Fly();
    cout << " самалёт едет по взлётке а потом Взлетает  \n";
    return Fly();
}
 
class Train :public Tran { // поезд 
public:
    Train(string t, int ms);
    void Transports();// перевозит 
};
Train::Train(string t, int ms) :Tran(t, ms) {
}
void Train::Transports() {
    Transports();
    cout << " поезд преводит  \n";
    return Transports();
}
class Freighttrain : public Train {// грузовой поезд 
public:
    Freighttrain(string t, int ms);
    void Transports();// превозит груз 
};
Freighttrain::Freighttrain(string t, int ms) :Train(t, ms) {
}
void Freighttrain::Transports() {
    Transports();
    cout << "Грузовой поезд едет по рельсам и перевозит   тяжёлый груз\n";
    return Transports();
}
class PosozhirskyTrain :public Train { // посожирский поезд легковой .
public:
    PosozhirskyTrain(string t, int ms);
    void Transports();// перевозит 
};
 
PosozhirskyTrain::PosozhirskyTrain(string t, int ms) :Train(t, ms) {
}
void PosozhirskyTrain::Transports() {
    Transports();
    cout << "Легкойвой поезд превозит людей \n";
    return Transports();
}
Это я начал делать, но во список не могу создать
0
 Аватар для Mesteriis
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
05.02.2020, 18:28
Цитата Сообщение от Evgeniy_21 Посмотреть сообщение
но во список не могу создать
список чего? и у тебя не множественное наследование

Добавлено через 2 минуты
и используй теги читать крайне не удобно код.
0
0 / 0 / 0
Регистрация: 25.01.2019
Сообщений: 45
05.02.2020, 21:21  [ТС]
Прошу Прошение ) Вот код который я как был закончил писать ,, не судите строго я ведь только учусь если вы можете подправить код , то я был бы очень вам признателен
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
#include <iostream>
 
#include <iostream>
#include <string>
 
 
using namespace std;
// создания базового скаласса . 
class Tran {
private:
    string type;// тип транспорта 
    // макс скорость 
    int  maxSpeed;
 
    int curSpeed;
    int Speed;// стредняя скорость 
public:
    Tran(string t, int ms);
    int getmaxSpeed();
    int getSpeed();
    void setSpeed(int sp);
    virtual void Go();
};
 
 
Tran::Tran(string t, int ms) {
    type = t;
    maxSpeed = ms;
    curSpeed = 0;
}
 
int Tran::getmaxSpeed() { return maxSpeed; }
int Tran::getSpeed() { return curSpeed; }
 
void Tran::setSpeed(int sp) { curSpeed = sp; }
 
void Tran::Go() {
    cout << " транспорт двигался со коростью  " << getSpeed() << '\n';
}
 
class Gruz {
 
public:
 
    Gruz();
 
    void shipping();
};
      Gruz::Gruz() { 
      }
      void Gruz::shipping() {
         shipping();
 
         cout << " перевозит груз!\n";
         return shipping();
      }
 
       
class car : public Tran ,public Gruz {
 
public:
    car(string t, int ms);
    //  void Go();
    void GocarmaxSpeed();
    void GocarcurSpeed();
};
 
car::car(string t, int ms) : Tran(t, ms) {
}
 
 
void car::GocarmaxSpeed() {
    GocarmaxSpeed();
    cout << "легковая машина едет на максимальной скорости \n";
    cout << "грузовая машина перевозит груз \n";
    setSpeed(getmaxSpeed());
    Tran::Go();
}
void car::GocarcurSpeed() {
    GocarcurSpeed();
    cout << "машина едет на средней скорости \n";
    setSpeed(60);
    Tran::Go();
}
 
class Airp :public Tran,public Gruz {       // класс самалёта .
public:
    Airp(string t, int ms);
    void Fly();
};
Airp::Airp(string t, int ms) :Tran(t, ms) {
}
 
void Airp::Fly() {
    Fly();
    cout <<"  самалёт едет по взлётке а потом Взлетает  \n";
    cout << "  грузовой Салёт превозит груз\n";
    return Fly();
}
 
class Train :public Tran, public Gruz { // поезд 
public:
    Train(string t, int ms);
    void Transports();// перевозит 
};
 
Train::Train(string t, int ms) : Tran(t, ms)  {
}
void Train::Transports() {
    Transports();
    cout << " легковой поезд преводит  \n";
    cout << "  грузовой поезд первозт груз\n";
    return Transports();
}
 
 
 
struct node {
 
    Tran* inf;
 
    node* next;
 
    node* prev;
 
};
 
class list {
 
private:
    node* head;
    node* tail;
 
public:
 
    list() { head = NULL; tail = NULL; }
    template<typename T>
    void push(T* x);
    int maxSpeed();
    int Speed();
};
 
template<typename T>
void list::push(T* x) {
    node* r = new node;
    r->inf = x;
    r->next = NULL;
    if (!head && !tail) {
        r->prev = NULL;
        head = r;
    }
    else {
        tail->next = r;
        r->prev = tail;
    }
    tail = r;
 
}
 
 
 
int list::Speed() {
    node* r = head;
    int i = 1;
    while (r != NULL) {
        if (r->inf->getSpeed()) {
 
 
            r = r->next;
            i++;
        }
        else {
            r = r->next;
            i++;
        }
    }
    return 0;
}
int list::maxSpeed() {
    node* r = head;
    int i = 1;
    while (r != NULL) {
        if (r->inf->getmaxSpeed()) {
 
            
            r = r->next;
            i++;
        }
        else {
            r = r->next;
            i++;
        }
    }
    return 0;
};
 
int main(){
 
    setlocale(LC_ALL, "Russian");
    
 
    int c, p, s ,k,n,d;
    cout << "количество танспортов разного типа :" << endl;
    cout << "Самалёт Легковой : "; cin >> c;
    cout << "самалёт грузовой : "; cin >> p;
    cout << "поезд легковой  : "; cin >> s;
    cout << "поез грузовой:"; cin >> k;
    cout << "автомобиль грузовой : "; cin >> n;
    cout << "автомобиль легковой : "; cin >> d;
 
 
 
    
 
 
    cout << "Введите количество транспортов:";
    cout << endl;
    cin >> n;
    string t;
    int m, ms, sp;
        Tran* Tran1;
    list list;
    for (int i = 0; i < n; i++) {
        cout << "транспорт №" << i + 1; cout << endl;
        cout << "Введите макрку:"; cin >> m;
        cout << "Введите максимальную скорость:"; cin >> ms;
        cout << "Введите скорость"; cin >> sp;
        cout << " Введите скрость полёта самолёта"; cin >> sp;
 
        cout << endl;
        
        
        
    }
    
    cin >> n;
    cin >> p;
        cin >> k;
 
 
        system("pause");
    return 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2020, 21:21
Помогаю со студенческими работами здесь

Дерево каталогов с использованием наследования классов
Имеется только подобие с единственным классом и не всеми реализованными функциями. Помогите реализовать функции и/или преобразовать с...

Оцените реализацию классов с использованием наследования
Программируя, я никогда раньше не пользовался наследованием классов и всем, что к этому относится и решил подтянуть себя в этой теме....

Разработать программу с использованием наследования классов, реализующую классы
Ребят помоги пожалуйста начинающему программисту. Использовать максимально возможное количество возможных функций (не менее 3), а...

Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг
помогите написать программу: Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг....

Создать программу на Java, которая выводит 3 программно рисованных Персонажа, выполненных путем построения классов методом наследования
Создать программу на Java, которая выводит 3 программно рисованных Персонажа «Холодное сердце», выполненных путем построения классов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru