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

Множественное наследование - C++

Восстановить пароль Регистрация
 
Наталья1204
0 / 0 / 0
Регистрация: 30.08.2011
Сообщений: 4
31.08.2011, 15:04     Множественное наследование #1
В спортивных соревнованиях различных видов спорта приняли участие люди из разных стран. Название страны имеют следующую структуру country = {имя, телефонный код, почтовый индекс}. Каждый участник соревнования весит ves = {килограмм, грамм} и может участвовать только в одной из предлагаемых спортивных мероприятий. Определить лучшие спортивные результаты, полученные в различных спортивных мероприятий.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2011, 15:04     Множественное наследование
Посмотрите здесь:

множественное наследование C++
C++ Множественное наследование
Множественное наследование C++
Множественное наследование C++
Множественное наследование C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Drum and C++
12 / 14 / 0
Регистрация: 03.08.2011
Сообщений: 213
31.08.2011, 16:35     Множественное наследование #2
Цитата Сообщение от Наталья1204 Посмотреть сообщение
В спортивных соревнованиях различных видов спорта приняли участие люди из разных стран. Название страны имеют следующую структуру country = {имя, телефонный код, почтовый индекс}. Каждый участник соревнования весит ves = {килограмм, грамм} и может участвовать только в одной из предлагаемых спортивных мероприятий. Определить лучшие спортивные результаты, полученные в различных спортивных мероприятий.
тоесть тебе надо чтобы другие за тебя сделали такую прогу с помощью Множественного наследования??
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
31.08.2011, 19:19     Множественное наследование #3
Цитата Сообщение от Наталья1204 Посмотреть сообщение
В спортивных соревнованиях различных видов спорта приняли участие люди из разных стран. Название страны имеют следующую структуру country = {имя, телефонный код, почтовый индекс}. Каждый участник соревнования весит ves = {килограмм, грамм} и может участвовать только в одной из предлагаемых спортивных мероприятий. Определить лучшие спортивные результаты, полученные в различных спортивных мероприятий.
тут делать то нечего, возможно, найдётся доблесный рыцарь, который это сделает
Сыроежка
Заблокирован
31.08.2011, 19:22     Множественное наследование #4
Цитата Сообщение от Daemon025 Посмотреть сообщение
тут делать то нечего, возможно, найдётся доблесный рыцарь, который это сделает
Я думаю, что на самом деле, чтобы определить лучшие спортивные результаты, требуется не программист, а судья соревнований!
Alex1234
 Аватар для Alex1234
12 / 12 / 0
Регистрация: 11.02.2011
Сообщений: 55
01.09.2011, 09:28     Множественное наследование #5
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
#include <iostream>
#include <list>
#include <limits.h>
 
//Страна
struct Country
{
protected:
    std::string name;
    std::string dialingCode;
    std::string postcode;
public:
    Country(const std::string &Name,
            const std::string &DialingCode,
            const std::string &Postcode):
            name(Name), dialingCode(DialingCode), postcode(Postcode) {}
};
 
//Вес
struct Weight
{
protected:
    int kilogram;
    int g;
public:
    Weight(int Kilogram, int G): kilogram(Kilogram), g(G){}
};
 
//Участник соревнований
class Competitor: public Country, Weight
{
    std::string lastname;
    std::string sport;
    int result;
public:
    Competitor(const std::string &Lastname,
               const std::string &Sport,
               int Kilogram, int G,
               int Result,
               const std::string &CountryName,
               const std::string &CountryDialingCode,
               const std::string &CountryPostcode):
               Country(CountryName, CountryDialingCode, CountryPostcode),
               Weight(Kilogram, G),
               lastname(Lastname),
               sport(Sport), result(Result) {}
 
    int getResult()
    {
        return result;
    }
 
    std::string getSport()
    {
        return sport;
    }
};
 
//Олимпиада
class Olimpiada
{
    std::list<Competitor*> competitors;
 
public:
    Olimpiada(){}
 
    void addCompetitor(Competitor* c)
    {
        competitors.push_back(c);
    }
 
    int bestResults(const std::string &Sport)
    {
        int max = INT_MIN;
        std::list<Competitor*>::iterator I = competitors.begin();
        while(I != competitors.end())
        {
            if((*I)->getSport() == Sport && (*I)->getResult() > max)
            {
                max = (*I)->getResult();
            }
            ++I;
        }
        return max;
    }
 
    ~Olimpiada()
    {
        while(!competitors.empty())
        {
            delete competitors.front();
            competitors.pop_front();
        }
    }
 
private:
    Olimpiada(const Olimpiada&);
    Olimpiada& operator=(const Olimpiada&);
};
 
//------------------------------------------------------------------
int main(int argc, char *argv[])
{
    Olimpiada olympics2012;
  
    olympics2012.addCompetitor(new Competitor("Валерий",   "Лыжи",
                                              110, 12, 1342, "Россия", "", ""));
    olympics2012.addCompetitor(new Competitor("Петров",    "Лыжи",
                                              70,  23, 100,  "Россия", "", ""));
    olympics2012.addCompetitor(new Competitor("Иванов",    "Лыжи",
                                              75,  35, 3434, "Россия", "", ""));
    olympics2012.addCompetitor(new Competitor("Сидоров",   "Санки",
                                              90,  37, 105,  "Россия", "", ""));
    olympics2012.addCompetitor(new Competitor("Михайлов",  "Санки",
                                              80,  5,  103, "Россия", "", ""));
    olympics2012.addCompetitor(new Competitor("Валерий",   "Лыжи",
                                              110, 3,  100,  "Россия", "", ""));
 
    std::cout << "На лыжах: "  << olympics2012.bestResults("Лыжи")  << endl;
    std::cout << "На санках: " << olympics2012.bestResults("Санки")  << endl;
 
    return 0;
}
Какая-то байда получилась Интересно, что хотели увидеть постановщики этой задачи?

Добавлено через 9 часов 41 минуту
Извиняюсь, обшибся, в 2012 году не будет зимней олимпиады. И лень было разбираться в чем измеряются эти спортивные результаты.
Yandex
Объявления
01.09.2011, 09:28     Множественное наследование
Ответ Создать тему
Опции темы

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