Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
felicita_091
 Аватар для felicita_091
8 / 8 / 1
Регистрация: 24.10.2012
Сообщений: 428
11.03.2013, 14:37     Множественное наследование (Разработайте базовый класс CLIENT) #1
Задание: Множественное наследование.
Разработайте базовый класс CLIENT.
Элемент класса:

ФИО;

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

Методы:

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

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

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

Как сделать это??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 14:37     Множественное наследование (Разработайте базовый класс CLIENT)
Посмотрите здесь:

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя. C++
C++ Абстрактный базовый класс и множественное наследование (либо иерархия классов)
C++ Виртуальное наследование (указатель на базовый класс)
C++ Создать иерархию классов, представляющих простое наследование. Базовый класс – строка символов (char *)
C++ Абстрактный базовый класс и множественное наследование
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 16:28     Множественное наследование (Разработайте базовый класс CLIENT) #2
REIS - опишите этот класс, есть догадки, конечно, но хотелось бы больше конкретики
felicita_091
 Аватар для felicita_091
8 / 8 / 1
Регистрация: 24.10.2012
Сообщений: 428
11.03.2013, 16:33  [ТС]     Множественное наследование (Разработайте базовый класс CLIENT) #3
xtorne21st, Reis класс еще не создавала, не знаю как это делать
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 17:53     Множественное наследование (Разработайте базовый класс CLIENT) #4
Цитата Сообщение от felicita_091 Посмотреть сообщение
Разработайте класс SKIDKA – производный от класса REIS и CLIENT. В этот класс добавьте ме-тод, в котором проверяется количество поездок. Если количество > 10, то выводится на экран со-общение «Скидка 5%» и цена билета с учетом скидки, в противном случае – 100% стоимость.
Я так понимаю RIES нужен для того, чтобы подсчитывать количество рейсов для SKIDKA, если количество одно и того же рейса равно 10 тогда активируется 10% скидка, я правильно понял? Просто желательно сразу всё уточнять, чтобы попросту не тратить время на выяснение деталей
felicita_091
 Аватар для felicita_091
8 / 8 / 1
Регистрация: 24.10.2012
Сообщений: 428
11.03.2013, 18:03  [ТС]     Множественное наследование (Разработайте базовый класс CLIENT) #5
xtorne21st, Да)))
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.03.2013, 19:00     Множественное наследование (Разработайте базовый класс CLIENT) #6
Задание настолько чудовищно некорректно, что слов нет.

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

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

Притянуть за уши можно, конечно. Синтаксис позволит. Но смысла в этом будет не больше, чем в помеси кролика и пожарного гидранта, названного напильником.
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
11.03.2013, 20:23     Множественное наследование (Разработайте базовый класс CLIENT) #7
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.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2013, 21:33     Множественное наследование (Разработайте базовый класс CLIENT)
Еще ссылки по теме:

C++ Наследование классов С++ (не могу правильно унаследовать базовый класс)
C++ Простое наследование в с++. Базовый класс (AEROFLOT) и дочерний (REIS)
Наследование: базовый класс - массив, наследник - матрица C++

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

Или воспользуйтесь поиском по форуму:
felicita_091
 Аватар для felicita_091
8 / 8 / 1
Регистрация: 24.10.2012
Сообщений: 428
11.03.2013, 21:33  [ТС]     Множественное наследование (Разработайте базовый класс CLIENT) #8
xtorne21st, std::cout << "FIO: "; std::cout << "Count of travels: ";"Put number of reis you want: "; мне все эти надо на русском
Yandex
Объявления
11.03.2013, 21:33     Множественное наследование (Разработайте базовый класс CLIENT)
Ответ Создать тему
Опции темы

Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru