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

Создать экземпляры разных производных классов в зависимости от условий

05.03.2020, 17:04. Показов 1955. Ответов 15
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
нужно дописать программу. если длинна колесной базы равна 4500 и количество дверей - 2 тогда ето купе.
В классе vehicle описать количество "лошадок".
если 100 лошадок - економ клас. если количество "лошадок" больше 300, тогда ето спорткар.
я не могу реализовать условие из одного класса в другом (например так как я писал выше). и все ето описать в мейне.

заранее большое спасибо.

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
#include <iostream>
#include <string>
#include <conio.h>
 
class Auto
{
protected:
string mark,
string model, 
string color;
public:(string mark, string model, string color);
 
    ~Auto();
string getmark();
string getmodel();
string getcolor();
friend ostream& operator<<(ostream& out, Passport& obj);
};
Auto::Auto(string mark, string model, string color)
{
    this->mark = mark;
    this->getmodel = model;
    this-> color = color;
}
Auto::~Auto() {}
string Auto::getmark()
{
    return mark;
}
string Auto::getmodel()
{
    return model;
}
string Auto::getcolor()
{
    return color;
}
class wheels :public Auto
{
public:
    int size;
    cout  << "введите диаметр колес";
 
};
class body:public Auto
{
public:
    int length;//длина кузова в мм.
    cout << "введите длину кузова " << endl;
    cin >> length << endl;
    if (length = 4500)
    {
        cout << "тип кузова - седан" << endl;
    }
    else if(lenght<4500&&length>4000)
    {
        cout << "тип кузова - хетчбек";
    }
    else if (length > 4500 && length < 5000)
    {
        cout << "тип кузова - универсал";
    }
    
};
 
class doors:public body
{
public:
    int quantity;//количество дверей
    cout<<"введите количетсво дверей" << endl;
    
};
class vehicle:
{
public:
    float vol;//об'єм двигуна
    cout << "введите обьем двигателя";
        
};
 
 
int main()
{
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2020, 17:04
Ответы с готовыми решениями:

Создать подсчёт по ячейкам в зависимости от условий в разных книгах
Друзья, Гуры, Помогите пожалуйста создать таблицу &quot;Дефекты время суток&quot; в которой автоматически подсчитывалось бы кол-во событий...

Поместить экземпляры разных классов в один массив
Не пойму немного, это через List делается или иначе? Необходимо для дальнейшей сортировки и ограниченного вывода using System; using...

Как поместить в STL-контейнер экземпляры разных классов?
Как поместить в контейнер экземпляры разных классов(типов) :thank_you:?

15
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
06.03.2020, 11:55  [ТС]
???

Добавлено через 2 часа 57 минут
Помогите дописать пожалуйста код!!!!
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
06.03.2020, 15:44
Совершенно не понятно, чем вам помочь можно.
Никакого множественного наследования в коде нет.
Цитата Сообщение от Sasha_1987 Посмотреть сообщение
если длинна колесной базы равна 4500 и количество дверей - 2 тогда ето купе.
Цитата Сообщение от Sasha_1987 Посмотреть сообщение
если 100 лошадок - економ клас. если количество "лошадок" больше 300, тогда ето спорткар.
Куда это "купе", "економ" и "спорткар" в коде вообще впихнуть можно?!
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
06.03.2020, 15:50
Цитата Сообщение от Sasha_1987 Посмотреть сообщение
Помогите дописать пожалуйста код!!!!
Наследоваться должно примерно так
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
class wheels
{
public:
    int size;
    ...................
};
class body
{
public:
    int length;//длина кузова в мм.
    ......
};
 
class doors
{
public:
    int quantity;//количество дверей
    .......................
};
 
class vehicle
{
public:
    float vol;//об'єм двигуна
    ...............
 
};
 
class Auto
: public wheels
, public body
, public doors
, public vehicle
{
....
};
Но, похоже, проблема в том, что ты с классами не умеешь работать в принципе
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
06.03.2020, 17:09  [ТС]
Ето в Мейне надо все закинуть. Сделать множественное
наследование. А если ещё кузов и количество
лошадиных сил соответствуют класс спроси кар, то стела б вывод информации что ето спорт кар.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
06.03.2020, 17:13
Цитата Сообщение от Sasha_1987 Посмотреть сообщение
Ето в Мейне надо все закинуть. Сделать множественное
наследование. А если ещё кузов и количество
лошадиных сил соответствуют класс спроси кар, то стела б вывод информации что ето спорт кар.
чё?
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
11.03.2020, 22:08  [ТС]
немного переделал
как описать ето в инт меин?
Нужно чтобы выводилась вся инфа про авто - цвет, марка и тд.
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
#include <iostream>
#include<string>
using namespace std;
 
class wheels
{
protected:
int size;
public:
wheels(int n)
{
size = n;
}
//cout << "введите диаметр колес";
 
};
 
class doors
{
protected:
int quantity;//количество дверей
public:
void d()
{
cout << "введите количетсво дверей";
}
};
 
class body :public doors
{
string color;
void b()
{
cout << "введите цвет кузова";
}
public:
int length;//длина кузова в мм.
void l()
{
cout << "введите длину кузова ";
cin >> length;
if (length = 4500)
    {
cout << "тип кузова - седан" << endl;
    }
        else if (length < 4500 && length >4000 && quantity == 2)
        {
            cout << "тип кузова - хетчбек";
        }
        else if (length > 4500 && length <= 5000)
            {
            cout << "тип кузова - универсал";
            }
        else if (length > 4500 && length < 4700 && quantity == 2)
                {
                cout << "тип кузова - купе";
                }
}
 
};
 
class vehicle
{
public:
float vol;//об'єм двигуна
void veh()
{
cout << "введите обьем двигателя" << endl;
}
};
class Auto :public wheels,public doors,public body,public vehicle
{
protected:
string mark,
model,
color;
public:
Auto(string mark, string model, string color, int n);
 
  ~Auto();
  string getmark();
  string getmodel();
  string getcolor();
  friend ostream & operator<<(ostream & out, Auto & obj);
};
Auto::Auto(string mark, string model, string color, int n):wheels(n)
{
this->mark = mark;
this->model = model;
size = n;
}
Auto::~Auto() {}
string Auto::getmark()
{
return mark;
}
string Auto::getmodel()
{
return model;
}
int main()
{
 
}
Добавлено через 4 часа 26 минут
????

Добавлено через 9 секунд
????

Добавлено через 3 часа 19 минут
Плиииииз!!!
Помогите!!!
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
11.03.2020, 22:58
Выдай, пожалуйста, полный текст задания.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
11.03.2020, 23:05  [ТС]
Используя механизм множественного наследования разработайте класс “Автомобиль”. Должны быть классы “Колеса», «Двигатель», «Двери» и т.д.
немного переделал
как описать ето в инт меин?
Нужно чтобы выводилась вся инфа про авто - цвет, марка и тд.
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
#include <iostream>
#include<string>
using namespace std;
 
class wheels
{
protected:
int size;
public:
wheels(int n)
{
size = n;
}
//cout << "введите диаметр колес";
 
};
 
class doors
{
protected:
int quantity;//количество дверей
public:
void d()
{
cout << "введите количетсво дверей";
}
};
 
class body ublic doors
{
string color;
void b()
{
cout << "введите цвет кузова";
}
public:
int length;//длина кузова в мм.
void l()
{
cout << "введите длину кузова ";
cin >> length;
if (length = 4500)
{
cout << "тип кузова - седан" << endl;
}
else if (length < 4500 && length >4000 && quantity == 2)
{
cout << "тип кузова - хетчбек";
}
else if (length > 4500 && length <= 5000)
{
cout << "тип кузова - универсал";
}
else if (length > 4500 && length < 4700 && quantity == 2)
{
cout << "тип кузова - купе";
}
}
 
};
 
class vehicle
{
public:
float vol;//об'єм двигуна
void veh()
{
cout << "введите обьем двигателя" << endl;
}
};
class Auto ublic wheels,public doors,public body,public vehicle
{
protected:
string mark,
model,
color;
public:
Auto(string mark, string model, string color, int n);
 
~Auto();
string getmark();
string getmodel();
string getcolor();
friend ostream & operator<<(ostream & out, Auto & obj);
};
Auto::Auto(string mark, string model, string color, int n):wheels(n)
{
this->mark = mark;
this->model = model;
size = n;
}
Auto::~Auto() {}
string Auto::getmark()
{
return mark;
}
string Auto::getmodel()
{
return model;
}
int main()
{
 
}
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
12.03.2020, 01:12
Цитата Сообщение от Sasha_1987 Посмотреть сообщение
Используя механизм множественного наследования разработайте класс “Автомобиль”. Должны быть классы “Колеса», «Двигатель», «Двери» и т.д.
В таком задании нет смысла.
Дело в том, что наследование это отношение типа "является".
Например "Животное" -> "Слон" является валидным наследованием, потому что "Слон" является "Животным",
а отношение "Автомобиль" -> "Двигатель" не является валидным наследованием, потому что "Двигатель" не является "Автомобилем". Как и наоборот, двигатель не является автомобилем.

Дайте задание так, как его выдал преподаватель.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
12.03.2020, 01:19  [ТС]
ето оно и есть.
например: Должен быть автомобиль марки БМВ, зеленого цвета, иметь 2 двери, Кузов - купе, мотор - 4.5, длина кузова - 5000 мм...

Используя механизм множественного наследования разработайте класс “Автомобиль”. Должны быть классы “Колеса», «Двигатель», «Двери» и т.д.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
12.03.2020, 09:46  [ТС]
Кто подсажет??? Очень нужно!!!
Пожалуйста
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
12.03.2020, 20:23  [ТС]
Люди
Ау
Плиз
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
13.03.2020, 15:15  [ТС]
?????

Добавлено через 3 часа 15 минут
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
23.03.2020, 10:34  [ТС]
Вот переделал немного код.
Помогите пожалуйста его упорядочить.

#include <iostream>
#include<string>
using namespace std;

class wheels
{
protected:
int size;
public:
void w()
{
cout << "введите диаметр колес\n" << endl;
cin >> this->size;
}
};

class doors
{
public:
int quantity;//количество дверей
public:
void d()
{
cout << "введите количетсво дверей\n";
cin >> this->quantity;
}
};

class body: public doors
{
protected:
string color;
public:
void b()
{
cout << "введите цвет кузова\n";
cin >> this->color;
}
protected:
int length;//длина кузова в мм.
public:
void l()
{
cout << "введите длину кузова ";
cin >> this->length;
if (length == 4500)
{
cout << "тип кузова - седан" << endl;
}
else if (length < 4500 && length >4000 && this->quantity == 2)
{
cout << "тип кузова - хетчбек";
}
else if (this->length > 4500 && this->length <= 5000)
{
cout << "тип кузова - универсал";
}
else if (this->length<=4700 && this->quantity == 2)
{
cout << "тип кузова - купе";
}
}

};

class vehicle
{
protected:
float vol;//об'єм двигуна
public:
void veh()
{
cout << "введите обьем двигателя\n" << endl;
cin >> this->vol;
}
};
class Auto: public wheels, public body, public vehicle
{
protected:
string mark,
model;
public:
Auto(string mark, string model, string color, int n);

~Auto();
void Show()
{
//cout << "wheels - " << this->w<<endl;
//this->w();
cout << "Color - " << this->color << endl;
cout << "Length - " << this->length << endl;
cout << "vol -" << this->vol << endl;
cout << "quantity - " << this->quantity << endl;


}
};
Auto::Auto(string mark, string model, string color, int n)
{
this->mark = mark;
this->model = model;

//size = n;

}
Auto::~Auto() {}

int main()
{
setlocale(LC_ALL, "");
Auto a("BMW", "X5", "black", 4);
a.veh();
a.d();
a.b();
a.l();
a.Show();
system("pause");
}
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 316
24.03.2020, 09:54  [ТС]
???????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2020, 09:54
Помогаю со студенческими работами здесь

Массив объектов разных производных классов
Задача такая: базовый класс - фигура, производные классы - круг, треугольник и т.п. Пользователь выбирает, какие фигуры будут на экране и...

Создать массив в базовом абстрактном классе, и его передать функциям производных классов
есть полностью абстрактный (виртуальный) класс. там все функции виртуальные и равны 0. Назовем его class A есть 3 производных ОТ НЕГО...

Наследование классов. Копирование производных классов
Здравствуйте всем, у меня такой вопрос: написал код #include &quot;stdafx.h&quot; class A //Создаем класс А { int mA; ...

Объекты и экземпляры классов
Здравствуйте, я читаю книгу &quot;Изучаем C#&quot; 3-e издание, Эндрю Стиллмена и Дженнифер Грина, так же посмотрел много видео уроков по этой теме,...

Экземпляры классов типов
Помогите мне пожалуйста. Никак не могу разобраться... Задание звучит так: &quot;&quot;&quot;&quot; Нужно определить класс типов Finite, который...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru