Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для felicita_091
8 / 8 / 2
Регистрация: 24.10.2012
Сообщений: 430

Множественное наследование (Разработайте базовый класс CLIENT)

11.03.2013, 14:37. Показов 1795. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Множественное наследование.
Разработайте базовый класс CLIENT.
Элемент класса:

ФИО;

количество поездок.

Методы:

метод, осуществляющий ввод значений полей класса с клавиатуры;

метод, осуществляющий вывод значений полей класса на экран.

Разработайте класс SKIDKA – производный от класса REIS и CLIENT. В этот класс добавьте ме-тод, в котором проверяется количество поездок. Если количество > 10, то выводится на экран со-общение «Скидка 5%» и цена билета с учетом скидки, в противном случае – 100% стоимость.

Как сделать это??
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2013, 14:37
Ответы с готовыми решениями:

Абстрактный базовый класс и множественное наследование
Общая постановка. Создать программу с абстрактным базовым классом и множественным наследованием, реализовать в нем: • конструктор, ...

Абстрактный базовый класс и множественное наследование
Общая постановка. Создать программу с абстрактным базовым классом и множественным наследованием. Помогите разобраться почему не работает,...

Абстрактный базовый класс и множественное наследование (либо иерархия классов)
Помогите пожалуйста с задачей. Кое-что написал но еще далеко не все. Все ли пока правильно? Мобильные телефоны (наименование,...

7
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 16:28
REIS - опишите этот класс, есть догадки, конечно, но хотелось бы больше конкретики
0
 Аватар для felicita_091
8 / 8 / 2
Регистрация: 24.10.2012
Сообщений: 430
11.03.2013, 16:33  [ТС]
xtorne21st, Reis класс еще не создавала, не знаю как это делать
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 17:53
Цитата Сообщение от felicita_091 Посмотреть сообщение
Разработайте класс SKIDKA – производный от класса REIS и CLIENT. В этот класс добавьте ме-тод, в котором проверяется количество поездок. Если количество > 10, то выводится на экран со-общение «Скидка 5%» и цена билета с учетом скидки, в противном случае – 100% стоимость.
Я так понимаю RIES нужен для того, чтобы подсчитывать количество рейсов для SKIDKA, если количество одно и того же рейса равно 10 тогда активируется 10% скидка, я правильно понял? Просто желательно сразу всё уточнять, чтобы попросту не тратить время на выяснение деталей
0
 Аватар для felicita_091
8 / 8 / 2
Регистрация: 24.10.2012
Сообщений: 430
11.03.2013, 18:03  [ТС]
xtorne21st, Да)))
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
11.03.2013, 19:00
Задание настолько чудовищно некорректно, что слов нет.

Чтобы появилось наследование, наследуемый класс должен являться, а лучше вести себя как базовый класс. Только в этом случае имеет смысл наследование.

В данном случае наследование смысла не имеет. Скидка не рейс и не клиент. Как её можно наследовать от рейса или от клиента?! Это лишено смысла.

Притянуть за уши можно, конечно. Синтаксис позволит. Но смысла в этом будет не больше, чем в помеси кролика и пожарного гидранта, названного напильником.
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 20:23
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>
#include <string>
 
// Отчистка потока от "мусора".
#define CIN_FLUSH if (std::cin.peek()) std::cin.ignore()
 
class CLIENT
{
    public:
        void put_user()
        {
            std::cout << "FIO: ";
            std::getline(std::cin, fio);
            std::cout << "Count of travels: ";
            std::cin >> count_of_travels;
            CIN_FLUSH;
            std::cout << "Put number of reis you want: ";
            std::getline(std::cin, reis_want);
        }
        void show_user()
        {
            std::cout << "FIO is " << fio << '\n';
            std::cout << "Count of travels = " << count_of_travels << '\n';
            std::cout << "Reis: " <<  ret_reis_want() << '\n';
        }
 
    protected:
        int ret_trav()
        {
            return count_of_travels;
        }
 
        std::string ret_reis_want()
        {
            return reis_want;
        }
 
    private:
        std::string reis_want;
        std::string fio;
        int count_of_travels;
};
 
class REIS
{
    public:
        REIS() // констуктор. Название рейса.
        {
            std::cout << "Put number of current reis: ";
            std::getline(std::cin, reis);
        }
 
    protected:
        std::string ret_reis()
        {
            return reis;
        }
 
    private:
        std::string reis;
};
 
class SKIDKA : public REIS, public CLIENT
{
    public:
        void show_discount()
        {
            // Для наглядности количество рейсов и номер
            if (ret_reis() == ret_reis_want() && ret_trav() > 10)
                std::cout << "Discount is 5%\n";
            else
                std::cout << "Full costs.\n";
        }
};
 
int main()
{
    SKIDKA obj; 
    std::cout << '\n';
    obj.put_user();
    std::cout << '\n';
    obj.show_user();
    obj.show_discount();
 
    return 0;
}
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ilyuha21st@coldshoot:~/Projects$ ./prog
Put number of current reis: Kiev-Moskva
 
FIO: Illia Danko
Count of travels: 11
Put number of reis you want: Kiev-Moskva
 
FIO is Illia Danko
Count of travels = 11
Reis: Kiev-Moskva
Discount is 5%
ilyuha21st@coldshoot:~/Projects$ ./prog
Put number of current reis: Kiev-Moskva
 
FIO: Illia Danko
Count of travels: 11
Put number of reis you want: Kiev-L'vov 
 
FIO is Illia Danko
Count of travels = 11
Reis: Kiev-L'vov
Full costs.
1
 Аватар для felicita_091
8 / 8 / 2
Регистрация: 24.10.2012
Сообщений: 430
11.03.2013, 21:33  [ТС]
xtorne21st, std::cout << "FIO: "; std::cout << "Count of travels: ";"Put number of reis you want: "; мне все эти надо на русском
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2013, 21:33
Помогаю со студенческими работами здесь

Наследование: базовый класс Квадрат, производный класс Пирамида
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна стороны. Предусмотреть в классе методы...

Абстрактный класс, одиночное наследование, далее множественное
Добрый вечер! никак не могу найти информацию о том, как правильно реализуется следующее действие: есть абстрактный класс А, от него...

Множественное наследование: определить класс Окружность, вписанная в ромб
С помощью множественного наследования определить класс Окружность, вписанная в ромб. Классы Круг и Ромб должны иметь методы для...

Виртуальное наследование (указатель на базовый класс)
У меня ромбическая иерархия классов, при попытке вызвать метод производного класса ошибка, что я не так делаю? Вот исходный код ...

Наследование: базовый класс - массив, наследник - матрица
Помогите пожалуйста с наследованием. базовый класс - массив, наследник - матрица. Использовать именно наследование.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru