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

Иерархия и композиция классов - C++

Восстановить пароль Регистрация
 
Элинка_1995
0 / 0 / 0
Регистрация: 26.11.2013
Сообщений: 13
11.04.2014, 14:19     Иерархия и композиция классов #1
[cut]

Написать программу на с++

Совсем не поняла >_<
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2014, 14:19     Иерархия и композиция классов
Посмотрите здесь:

C++ иерархия классов
Композиция двух классов и вложенные классы C++
композиция классов и объектов данных C++
C++ Создать классы: колесо, велосипед и автомобиль (иерархия или композиция)
C++ Композиция классов. Не могу разобраться
C++ От структур к классам, композиция классов
Иерархия классов C++
Композиция классов и объектов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
11.04.2014, 15:28     Иерархия и композиция классов #2
по первому примерно так
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
enum Suit
{
    hearts,
    spades,
    clubs,
    diamonds
};
enum Grade
{
    two,
    three,
    four,
    five,
    six,
    seven,
    eight,
    nine,
    ten,
    jack,
    queen,
    king,
    ace
};
 
class Card
{
    
public:
    Card(Suit suit, Grade grade):_suit(suit),_grade(grade){}
    void Turn(){}
    void Open(){}
    Suit GetSuit()
    {
        return _suit;
    }
    Grade GetGrade()
    {
        return _grade;
    }
private:
 
    Suit _suit;
    Grade _grade;
};
 
class PackOfCards
{
protected:
    std::vector<Card> _Cards;
public:
    PackOfCards()
    {
        for(int i = hearts; i <= diamonds; i++)
        {
            for(int j = two; j <= ace; j++)
            {
                _Cards.push_back(Card((Suit)i,(Grade)j));
            }
 
        }
    }
    virtual Card GetCard() = 0;
    virtual ~PackOfCards(){}
};
 
class PackOfCardWithSequenceGet : PackOfCards
{
    int x;
public:
    PackOfCardWithSequenceGet():PackOfCards(), x(0){}
    Card GetCard()
    {
        if(x>=52)
        {
            x = 0;
        }
        return _Cards[x++];
    }
};
 
class PackOfCardWithRandomGet : public PackOfCards
{
public:
    PackOfCardWithRandomGet():PackOfCards(){}
    Card GetCard()
    {
        //srand(time(NULL));
        int x = rand()%52;
        return _Cards[x];
    }
};
 
int main()
{
    PackOfCardWithRandomGet Rand;
    PackOfCardWithSequenceGet Seq;
 
    for(int i = 0; i < 10; i++)
    {
        Card tmp = Rand.GetCard();
        cout << "Grade = " << tmp.GetGrade() << ", Suit = " << tmp.GetSuit()<<endl; 
    }
    for(int i = 0; i < 10; i++)
    {
        Card tmp = Seq.GetCard();
        cout << "Grade = " << tmp.GetGrade() << ", Suit = " << tmp.GetSuit()<<endl; 
    }
    system("pause");
}
Yandex
Объявления
11.04.2014, 15:28     Иерархия и композиция классов
Ответ Создать тему
Опции темы

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