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

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

Войти
Регистрация
Восстановить пароль
 
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
#1

Ошибка - C++

18.08.2011, 18:18. Просмотров 498. Ответов 11
Метки нет (Все метки)

Всем привет!
Есть гкод, запускаю-не работает, подскажите почему
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
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<algorithm>
#include<set.h>
 
class Team
{
    protected:
  char *Surname;
  char *Name;
  char *Patronymic;
  int age;
  float growth;
  float weight;
 
    public:
  Team(const char *Surname,const char *Name,const char *Patronymic,int age,float growth,float weight);
  ~Team();
  const char *setSurname()const    { return Surname; };
  const char *setName()const       { return Name; };
  const char *setPatronymic()const { return Patronymic; };
  void setAge   (int AGE)      {age=AGE;};
  void setGrowth(float GROWTH) {growth=GROWTH;};
  void setWeight(float WEIGHT) {weight=WEIGHT;};
  int    Age()const    { return age; }
  double Growth()const { return growth; }
  double Weight()const { return weight; }
  virtual void print()const=0;
  void PRINT()const;
};
 
Team::Team(const char *SURNAME,const char* NAME,const char *PATRONYMIC,int AGE,float GROWTH,float WEIGHT)
{
  Surname=new char[strlen(SURNAME)+1];
  strcpy(Surname,SURNAME);
  Name=new char[strlen(NAME)+1];
  strcpy(Name,NAME);
  Patronymic=new char[strlen(PATRONYMIC)+1];
  strcpy(Patronymic,PATRONYMIC);
  age=AGE;
  growth=GROWTH;
  weight=WEIGHT;
}
 
Team::~Team()
{ delete[]Surname; delete[]Name; delete[]Patronymic; };
 
void Team::PRINT()const
{ cout<<Surname<<' '<<Name<<' '<<Patronymic<<' '<<age<<' '<<growth<<' '<<weight<<' '<<endl; }
 
class Inform:public Team
{
    protected:
  int level_athlete;
  char *Category;
  char *Prizewinner;
    public:
  Inform(const char *SURNAME,const char* NAME,const char *PATRONYMIC,int AGE,float GROWTH,float WEIGHT,
         int LEVEL_ATHLETE,char *CATEGORY,char *PRIZEWINNER):
         Team(SURNAME,NAME,PATRONYMIC,AGE,GROWTH,WEIGHT)
  {
    level_athlete=LEVEL_ATHLETE;
  }
  void setLevel_athlete(int LEVEL_ATHLETE) {level_athlete=LEVEL_ATHLETE;};
  int Level_athlete()const          { return level_athlete; }
  const char *setCategory()const    { return Category; };
  const char *setPrizewinner()const { return Prizewinner; };
  virtual void print()const
  { cout<<"With print():"<<endl; }
  void PRINT()const;
};
 
void Inform::PRINT()const
{
  Team::PRINT();
  cout<<level_athlete<<' '<<Category<<' '<<Prizewinner<<endl;
}
 
 
 
struct WeightCompare
{
  bool operator()(const Inform &a,const Inform &b)
  { return a.Weight()<b.Weight(); }
};
 
 
 
int main()
{
  Inform *kolvo[3];
  kolvo[0]=new Inform("Petrovich","Vasilii","Mixailovich",9,22,180,89,"org","4hi");
  kolvo[1]=new Inform("Koshko","Alexandr","Victorovich",10,24,176,78,"org","4hi");
  kolvo[2]=new Inform("Evfremov","Andrei","Nikolaevich",11,30,191,94,"org","4hi");
  for(int i=0;i<3;i++)
  {
    kolvo[i]->print();
    kolvo[i]->PRINT();
  }
  for(int i=0;i<3;i++)
  { delete kolvo[i];  }
 
  getch();
}
Заранее спасибо

Добавлено через 2 минуты
Пытался написать переопределенную функцию просмотра состояния объектов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LosAngeles
Заблокирован
18.08.2011, 18:46     Ошибка #2
деббагером трэйсил?

Добавлено через 2 минуты
странные конечно параметры у команды, например вес. Зачем целиком взвешивать команду? рост тоже самое. Вобще почему у команды есть имя и фамилия?
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
18.08.2011, 18:55  [ТС]     Ошибка #3
Это черновик, скажите плиз почему не работает

Добавлено через 2 минуты
Извините, LosAngeles, Вы мне недано писали про эту конструкцию
template <class T, class Compare>
const T& min ( const T& a, const T& b, Compare comp );
а как её правильно вставить
LosAngeles
Заблокирован
18.08.2011, 18:59     Ошибка #4
методом пристального всматривания очень тяжело это выяснить, учитывая что код мягко говоря не располагает к чтению
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
18.08.2011, 19:00  [ТС]     Ошибка #5
помогите пожалуйста
LosAngeles
Заблокирован
18.08.2011, 19:01     Ошибка #6
min(obj1, obj2, WeightCompare());
так?
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
18.08.2011, 19:02  [ТС]     Ошибка #7
Извините, а можно полностью
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
18.08.2011, 19:04     Ошибка #8
Ты бы написал, что именно не работает. И чего ты хотел получить.
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
18.08.2011, 19:06  [ТС]     Ошибка #9
C++
1
2
3
4
5
void Inform::PRINT()const
{
  Team::PRINT();
  cout<<level_athlete<<' '<<Category<<' '<<Prizewinner<<endl;
}
Проверьте пожалуйста, так можно писать
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
18.08.2011, 19:07     Ошибка #10
Можно.
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
18.08.2011, 19:10  [ТС]     Ошибка #11
Так почему тогда не показыавет 2,3 и часть 1-ой строки
Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
20.08.2011, 16:59  [ТС]     Ошибка #12
я хочу чтобы информация во втором классе добавлялась к первому классу и выводилась одновременно

Добавлено через 6 минут
еще проще говоря мне надо переопределить функцию PRINT() базового класса в производном классе, проверьте пожалуйста, что у меня неверно
Yandex
Объявления
20.08.2011, 16:59     Ошибка
Ответ Создать тему
Опции темы

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