Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
#1

Структура классов - C++

09.12.2010, 15:50. Просмотров 1966. Ответов 18
Метки нет (Все метки)

Здраствуйте! У меня задание создать структуру классов и придумать варианты её использования.
Написала вот не понятно что.

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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream.h>
#include <ostream.h>
#include <Math.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
struct salon
{
        protected:
        int a;  int h;
        AnsiString type; char type_move;
        public:
                virtual void set_type(AnsiString a)
                {
                  type=a;
                }
                void show()
                {
 
                }
};
class kassa : public salon
{
  protected: int cena;
  public:
  void set_cena(int a)
  {
   cena=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"cena: "<<cena<<endl;
  }
  kassa(int a)
  {
   h=a;
  }
  };
class stulparikmahera :   public salon
{
  protected: int klient;
  public:
  void set_klient(int a)
  {
   klient=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"klient: "<<klient<<endl;
  }
  stulparikmahera(int a)
  {
   h=a;
  }
  };
class paricmaher :   public salon
{
  protected: int rabota;
  public:
  void set_rabota(int a)
  {
   rabota=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"rabota: "<<rabota<<endl;
  }
  paricmaher(int a)
  {
   h=a;
  }
  };
class fen:   public salon
{
  protected: int vkl;
  public:
  void set_vkl(int a)
  {
   vkl=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"vkl: "<<vkl<<endl;
  }
  fen(int a)
  {
   h=a;
  }
  };
class soljarii: public salon
{
  protected: int zan;
  public:
  void set_zan(int a)
  {
   zan=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"zan: "<<zan<<endl;
  }
  soljarii(int a)
  {
   h=a;
  }
  };
class kosmetolog :  public salon
{
  protected: int del;
  public:
  void set_del(int a)
  {
   del=a;
  }
    void show()
  {
   cout<<"H: "<<h<<endl<<"Type moving: "<<type_move<<endl<<"del: "<<del<<endl;
  }
  kosmetolog(int a)
  {
   h=a;
  }
  };
 
#pragma argsused
int main(int argc, char* argv[])
{     bool ii; int ii1; bool ii2; bool ii3; int ii4; int ii5;  int y;
 stulparikmahera tt(ii);
        kassa tt1(ii1);
        paricmaher tt2(ii2);
        fen tt3(ii3);
        soljarii tt4(ii4);
        kosmetolog  tt5(ii5);
       printf("vvedite 1 esli kreslo zanjato ili 0 esli kreslo svobodno\n");
      cin>>y;
      ii=y;  ii1=0;
      if (ii==1) {    ii1=ii1+1;  ii2=1;  ii3=1  ;
      } else if (ii==0) {ii2=0; ii3=0;}  ;
      if (ii==0) { cout<<"\nKreslo svobodno\n";
      }  else if (ii==1) {cout<<"\nKreslo zanjato\n";};
      cout<<"Deneg v kasse "<<ii1<<"\n";
      if (ii2==0) { cout<<"Master ne rabotaet\n";
      }  else if (ii2==1) {cout<<"Master rabotaet\n";};
      if (ii3==0) { cout<<"Fen vyklyuchen\n";
      }  else if (ii3==1) {cout<<"Fen vklyuchen\n";};
 
      printf("\nvvedite 1 esli soljarii zanjat ili 0 esli svoboden\n");
      cin>>y;
      ii4=y;
      if (ii4==1) {ii1=ii1+1;}
        if (ii4==0) { cout<<"\nSoljarii svoboden\n";
      }  else if (ii4==1) {cout<<"\nSolirii zanjat\n";};
      cout<<"Deneg v kasse "<<ii1<<"\n";
 
      printf("\nvvedite 1 esli kosmetolog zanjat ili 0 esli svoboden\n");
      cin>>y;
      ii5=y;
      if (ii5==1) {ii1=ii1+1;}
        if (ii5==0) { cout<<"\nKosmetolog svoboden\n";
      }  else if (ii5==1) {cout<<"\nKosmetolog zanjat\n";};
      cout<<"Deneg v kasse "<<ii1<<"\n";
       char kk = getch();
        return 0;
}
подскажите пожалуйста, что тут исправить, чтобы было похоже на структуру классов.
Вот то что в инт мэйне там типа способ использования. Но это будет работать и без структуры классов.
или приведите пожалуйста пример проги чего-то подобного, чтоб я могла по аналогии переделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2010, 15:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура классов (C++):

Структура классов для игры - C++
Здравствуйте. В универе дали задание: написать игру - текстовый квест. Только не статичные переходы пор страничкам, а нелинейный квест с...

Структура наследования базовых/производных классов: error LNK 1104 - C++
Может быть проблема, если я неправильно что-то записал в структуре наследования базовых/производных классов?

Иерархия классов "Структура - Список - Кольцевой Двусвязный список" - C++
Неделю назад получил задание и срок выполнения до конца мая. Разработка иерархии классов. Структура - Список - Кольцевой Двусвязный...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость. - C++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов - C++
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение, демонстрирующее работу с коллекцией объектов...

18
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
09.12.2010, 17:37 #2
Цитата Сообщение от Slafira Посмотреть сообщение
подскажите пожалуйста, что тут исправить, чтобы было похоже на структуру классов.
Всё...
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 17:46  [ТС] #3
Цитата Сообщение от rangerx Посмотреть сообщение
Всё...
а можно как-нибудь поконкретней?
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
09.12.2010, 18:04 #4
Цитата Сообщение от Slafira Посмотреть сообщение
а можно как-нибудь поконкретней?
http://www.cyberforum.ru/cpp-cross-p...ml#post1042212
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 18:16  [ТС] #5
только то, что смысл неправильный?
мне это неважно, ну придумаю я правильный смысл, что нужно добавить или изменить конкретно в коде?
если не считать, что по-другому назвать переменные
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
09.12.2010, 18:30 #6
Добавь пару осмысленных классов с осмысленным наследованием и покажи, как их использовать.
Чтобы было легче, напомню, что как указал ссылкой rangerx, дочерний класс является базовым классом. Например, щука является рыбой или кошка является животным. Но фен или, упаси, косметолог, увы, не являются салоном, как в вашем примере.

Оттого и нельзя сказать, что не так в коде. Получается, все не так.
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 20:05  [ТС] #7
Цитата Сообщение от lemegeton Посмотреть сообщение
Добавь пару осмысленных классов с осмысленным наследованием и покажи, как их использовать.
Чтобы было легче, напомню, что как указал ссылкой rangerx, дочерний класс является базовым классом. Например, щука является рыбой или кошка является животным. Но фен или, упаси, косметолог, увы, не являются салоном, как в вашем примере.

Оттого и нельзя сказать, что не так в коде. Получается, все не так.
а что изменится от того, что классы будут по-другому называться? У меня суть не в наследовании, а в умении использовать структуру классов, чтоб взаимодействие между ними было.
У меня проблема в том что они не взаимодействуют, а то, что я написала будет работать и без всех этих классов. Я не знаю синтаксис.
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
09.12.2010, 20:57 #8
Цитата Сообщение от Slafira Посмотреть сообщение
а что изменится от того, что классы будут по-другому называться? У меня суть не в наследовании, а в умении использовать структуру классов, чтоб взаимодействие между ними было.
У меня проблема в том что они не взаимодействуют, а то, что я написала будет работать и без всех этих классов. Я не знаю синтаксис.
Изменится многое. Станет понятно что с чем и как должно взаимодействовать.

Например, в cледующем примере показывает взаимодействие объектов двух классов.
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
class Tree
{
public:
     int height;
     string name;
     bool is_peed;
     Tree(int h=10) { height=h; is_peed=0; name="General tree"; };
};
 
class Oak : public Tree
{
public:
     Oak(int h=20) { height=20; is_peed=0; name="Oak"; };
};
 
class Dog
{
public:
    void pee_on(Tree& tree) { tree.is_peed = true; cout << "Dog pissed on " << tree.name << "." << endl; }
}
 
int main()
{
     Oak oak;
     Dog dog;
 
     dog.pee_on(oak);
 
     return 0;
}
Как должны взаимодействовать касса, которая салон, с солярием, который тоже салон?! Бред пьяного мультипликатора.
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 21:51  [ТС] #9
Цитата Сообщение от lemegeton Посмотреть сообщение
Как должны взаимодействовать касса, которая салон, с солярием, который тоже салон?! Бред пьяного мультипликатора.
но у меня структура классов же. то, что вы написали в примере просто отдельно взятые классы, а не структура.
Вот допустим создам я структуру фрукты и там будут классы яблоко, банан, апельсин, персик. И как они будут между собой взаимодействовать?

И если вам так уж не нравится, то можно назвать не салон, а инвентарь салона или оборудование. И чтоб парикмахер и косметолог не были оборудованием заменить их на ножницы и эпилятор.
И суть вопроса остаётся той же, что надо изменить, чтоб эти классы взаимодействовали?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
09.12.2010, 22:17 #10
Дико извиняюсь, я сделал абсурдное предположение, что вам, как и всем, объясняли про отношения классов, а вы просто перепутали, обозвав их взаимодействием. В таком случае, вам придется объяснить, что вы понимаете под "взаимодействием классов". Например, как могут взаимодействовать ваши объекты классов.
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 22:24  [ТС] #11
Цитата Сообщение от lemegeton Посмотреть сообщение
Дико извиняюсь, я сделал абсурдное предположение, что вам, как и всем, объясняли про отношения классов, а вы просто перепутали, обозвав их взаимодействием. В таком случае, вам придется объяснить, что вы понимаете под "взаимодействием классов". Например, как могут взаимодействовать ваши объекты классов.
если бы мне что-то объясняли, я бы сделала сама и не спрашивала тут. Отношения классов в первый раз слышу.
взаимодействие не как термин, а я так объяснила что мне нужно.
придумать вариант использования структуры мне надо.
вот я создала структуру классов и они у меня взаимодействуют. Если стул парикмахера занят, то парикмахер работает, деньги в кассе прибавляются, фен включен.

Препод так объяснил на примере машины - если двигатель включен, то колеса крутятся, бензин уменьшается.
По-моему аналогично.
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
09.12.2010, 22:30 #12
Вот и используйте созданные объекты класса в коде функции main, а не сторонние переменные. И, ради Б-га, вводите "говорящие" переменные, сквозь эти ttt iii iiii1ii1iiiiiiiii не продраться.

Если в том примере "структурность классов" была не очевидна, то вот более очевидный пример.
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
class Leaf
{
public: 
    bool is_falling;
    Leaf () { is_falling = false; }
};
 
class Branch
{
public:
    vector<Leaf> leaves;
    vector<Branch> branches;
};
 
class Tree
{
public:
    vector<Branch> branches;
    int height;
    bool is_peed;
    string name;
    Tree(int h=0) { is_peed=false; height = h; name="General tree."; };
};
 
class Oak : public Tree
{
    Oak(void) { Tree(10); name = "oak"; }
};
 
class Dog
{
public:
    vector<Tree> peed_trees;
    Dog(void) {}
    void pee_on(Tree& tree) { peed_trees.push_back(tree); tree.is_peed = true; }
};
 
int main()
{
    srand(static_cast<unsigned int>(time(0)));
 
 
    system("pause");
    return 0;
}
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 22:36  [ТС] #13
Цитата Сообщение от lemegeton Посмотреть сообщение
Вот и используйте созданные объекты класса в коде функции main, а не сторонние переменные. И, ради Б-га, вводите "говорящие" переменные, сквозь эти ttt iii iiii1ii1iiiiiiiii не продраться.
так вот я и спрашиваю как это сделать. не знаю синтаксис. Я ещё в первом посте прошу пример хотя бы.
0
almazsr
232 / 169 / 7
Регистрация: 13.11.2010
Сообщений: 425
09.12.2010, 22:37 #14
Цитата Сообщение от Slafira Посмотреть сообщение
Препод так объяснил на примере машины - если двигатель включен, то колеса крутятся, бензин уменьшается.
По-моему аналогично.
Здесь мне кажется он объяснял не взаимодействие классов, а взаимодействие внутри объектов класса. Например данный пример описывает метод скажем StartRiding() или что-то в этом духе.
0
Slafira
1 / 1 / 0
Регистрация: 18.10.2010
Сообщений: 113
09.12.2010, 22:49  [ТС] #15
Цитата Сообщение от almazsr Посмотреть сообщение
Здесь мне кажется он объяснял не взаимодействие классов, а взаимодействие внутри объектов класса. Например данный пример описывает метод скажем StartRiding() или что-то в этом духе.
если дословно от задания то вариант использования структуры классов
0
09.12.2010, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2010, 22:49
Привет! Вот еще темы с ответами:

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов) - C++
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как вынести методы из классов Panel и...

Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс - C++
Доброго времени суток! Осваивая UML, решил реализовать отношение двунаправленной ассоциации по диаграмме: У одного владельца...

Преобразования объектов классов в объекты других классов - C++
Задача типа обмен валют. Нужно конвертировать старый фунт стерлинг(фунт, шиллинг и пенсы) в доллары и обратно, по курсу 1 фунт = 50...

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru