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

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

Войти
Регистрация
Восстановить пароль
 
максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36
#1

ООП - C++

03.03.2011, 02:20. Просмотров 557. Ответов 2
Метки нет (Все метки)

проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там высвечивает 2 ошибки- первая просит поставить фигурную скобку в конструкторе квадрата и 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
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <iomanip.h>
#include <math.h>
#include <time.h>
 
 
class TShape {
  protected : int x,y,color;
  public : TShape(const int ix, const int iy, int icolor);
  ~TShape();
  virtual void Draw(int c)=0;
  void Show();
  void Hide();
};
void TShape::Show(){
  Draw(color);
}
void TShape::Hide(){
  Draw(BLACK);
}
TShape::TShape(const int ix, const int iy,int icolor){
  x=ix;
  y=iy;
  color=icolor;
}
TShape::~TShape(){}
 
//----------------------------------------//
class TPoint: public TShape{
  public : TPoint (int ix, int iy, int icolor);
  void Draw(int c);
  void Color();
  void Move();
};
 
TPoint::TPoint(int ix, int iy,int icolor):TShape(ix,iy,icolor){}
 
void TPoint::Draw(int c){
  int i,j;
  for(i=x; i<x+5; i++){
    for(j=y; j<y+8; j++){
      putpixel(i,j,c);
    }
  }
}
void TPoint::Color(){
 Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c')
    color++;
    Show();
  }
}
void TPoint::Move(){
  int v;
  Draw(4);
  while (v!=27)
    {
    v=getch();
    Draw(0);
    switch(v){
      case 77: x=x+5; break;
      case 75: x=x-5; break;
      case 80: y=y+5; break;
      case 72: y=y-5; break;
    }
    Draw(4);
  }
}
//----------------------------------------//
class Circle: public TPoint{
  public : Circle (int ix, int iy , int ir,int icolor);
  void Draw(int c);
  void Color();
  void Size();
  void Move();
 
  protected: int r;
};
Circle::Circle (int ix,int iy,int ir,int icolor):TPoint(ix,iy,icolor){
    r=ir;
}
void Circle::Draw(int c){
  setcolor(c);
  circle(x,y,c);
}
 
void Circle::Color(){
  Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c') color++;
    Show();
  }
}
void Circle::Size(){
  int g;
  Show();
  while(g!='e'){
    g=getch();
    Hide();
    switch(g){
      case 77 :r=r+5; break;
      case 75 :if(r>5) r=r-5; break;
    }
    Show();
  }
}
void Circle::Move(){
  int v;
  Draw(4);
  while (v!=27)
    {
    v=getch();
    Draw(0);
    switch(v){
      case 77: x=x+5; break;
      case 75: x=x-5; break;
      case 80: y=y+5; break;
      case 72: y=y-5; break;
    }
    Draw(4);
  }
}
//-------------------------------//
class Kvadrat: public TPoint{
  protected: int a;
  public: Kvadtar(int ix, int iy,int ia,int icolor);
  void Draw(int c);
  void Color();
  void Rotate();
};
 
Kvadrat::Kvadtar(int ix,int iy,int ia,int icolor):TPoint(ix,iy,icolor){
    a=ia;
}
 
void Kvadrat:: Draw(int c){
  setcolor(c);
  rectangle(x,y,x+a,y+a);
}
void Kvadrat:: Color(){
  Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c') color++;
    Show();
  }
}
void Kvadrat:: Rotate(){
  int x1,x2,x3,x4,y1,y2,y3,y4,fi=0,g;
  x1=-a/2; x2=a/2; x3=a/2; x4=-a/2;
  y1=-a/2; y2=-a/2; y3=a/2; y4=a/2;
  Show();
  while(g!='e'){
  g=getch();
  Hide();
  switch(g){
  case 77: fi=fi+0.1; x1=x+x1*cos(fi)-y1*sin(fi); y1=y+x1*sin(fi)+y1*cos(fi);
              x2=x+x2*cos(fi)-y2*sin(fi); y2=y+x2*sin(fi)+y2*cos(fi);
              x3=x+x3*cos(fi)-y3*sin(fi); y3=y+x3*sin(fi)+y3*cos(fi);
              x4=x+x4*cos(fi)-y4*sin(fi); y4=y+x4*sin(fi)+y4*cos(fi);
              //setcolor(c);
              line(x1,y1,x2,y2);
              line(x2,y2,x3,y3);
              line(x3,y3,x4,y4);
              line(x4,y4,x1,y1); break;
  case 75: fi=fi-0.1; x1=x+x1*cos(fi)-y1*sin(fi); y1=y+x1*sin(fi)+y1*cos(fi);
              x2=x+x2*cos(fi)-y2*sin(fi); y2=y+x2*sin(fi)+y2*cos(fi);
              x3=x+x3*cos(fi)-y3*sin(fi); y3=y+x3*sin(fi)+y3*cos(fi);
              x4=x+x4*cos(fi)-y4*sin(fi); y4=y+x4*sin(fi)+y4*cos(fi);
             // setcolor(c);
              line(x1,y1,x2,y2);
              line(x2,y2,x3,y3);
              line(x3,y3,x4,y4);
              line(x4,y4,x1,y1); break;
       }
       Show();
  }
}
 
//----------------------------------------//
int main(){
  int point_color,ring;
  int graphdriver=DETECT, graphmode;
  initgraph(&graphdriver, &graphmode, "c:\\progs\\bc31\\bgi");
  Circle *c;
  TPoint *p;
  Kvadrat *kv;
  c=new Circle(300,300,50,3);
  p=new TPoint(400,400,4);
  kv=new Kvadrat(300,300,50,3);
  p->Show();
  p->Hide();
  p->Color();
  p->Hide();
  p->Move();
  p->Hide();
  c->Color();
  c->Hide();
  c->Size();
  c->Hide();
  c->Move();
  c->Hide();
  kv->Draw(3);
  getch();
  closegraph();
  return 0;
}
Добавлено через 5 минут
Цитата Сообщение от максим) Посмотреть сообщение
проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там высвечивает 2 ошибки- первая просит поставить фигурную скобку в конструкторе квадрата и 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
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#include <iostream.h>
#include <conio.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <iomanip.h>
#include <math.h>
#include <time.h>
 
 
class TShape {
  protected : int x,y,color;
  public : TShape(const int ix, const int iy, int icolor);
  ~TShape();
  virtual void Draw(int c)=0;
  void Show();
  void Hide();
};
void TShape::Show(){
  Draw(color);
}
void TShape::Hide(){
  Draw(BLACK);
}
TShape::TShape(const int ix, const int iy,int icolor){
  x=ix;
  y=iy;
  color=icolor;
}
TShape::~TShape(){}
 
//----------------------------------------//
class TPoint: public TShape{
  public : TPoint (int ix, int iy, int icolor);
  void Draw(int c);
  void Color();
  void Move();
};
 
TPoint::TPoint(int ix, int iy,int icolor):TShape(ix,iy,icolor){}
 
void TPoint::Draw(int c){
  int i,j;
  for(i=x; i<x+5; i++){
    for(j=y; j<y+8; j++){
      putpixel(i,j,c);
    }
  }
}
void TPoint::Color(){
 Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c')
    color++;
    Show();
  }
}
void TPoint::Move(){
  int v;
  Draw(4);
  while (v!=27)
    {
    v=getch();
    Draw(0);
    switch(v){
      case 77: x=x+5; break;
      case 75: x=x-5; break;
      case 80: y=y+5; break;
      case 72: y=y-5; break;
    }
    Draw(4);
  }
}
//----------------------------------------//
class Circle: public TPoint{
  public : Circle (int ix, int iy , int ir,int icolor);
  void Draw(int c);
  void Color();
  void Size();
  void Move();
 
  protected: int r;
};
Circle::Circle (int ix,int iy,int ir,int icolor):TPoint(ix,iy,icolor){
    r=ir;
}
void Circle::Draw(int c){
  setcolor(c);
  circle(x,y,c);
}
 
void Circle::Color(){
  Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c') color++;
    Show();
  }
}
void Circle::Size(){
  int g;
  Show();
  while(g!='e'){
    g=getch();
    Hide();
    switch(g){
      case 77 :r=r+5; break;
      case 75 :if(r>5) r=r-5; break;
    }
    Show();
  }
}
void Circle::Move(){
  int v;
  Draw(4);
  while (v!=27)
    {
    v=getch();
    Draw(0);
    switch(v){
      case 77: x=x+5; break;
      case 75: x=x-5; break;
      case 80: y=y+5; break;
      case 72: y=y-5; break;
    }
    Draw(4);
  }
}
//-------------------------------//
class Kvadrat: public TPoint{
  protected: int a;
  public: Kvadtar(int ix, int iy,int ia,int icolor);
  void Draw(int c);
  void Color();
  void Rotate();
};
 
Kvadrat::Kvadtar(int ix,int iy,int ia,int icolor):TPoint(ix,iy,icolor){
    a=ia;
}
 
void Kvadrat:: Draw(int c){
  setcolor(c);
  rectangle(x,y,x+a,y+a);
}
void Kvadrat:: Color(){
  Show();
  int a;
  while(a!='e'){
    a=getch();
    Hide();
    if(a=='c') color++;
    Show();
  }
}
void Kvadrat:: Rotate(){
  int x1,x2,x3,x4,y1,y2,y3,y4,fi=0,g;
  x1=-a/2; x2=a/2; x3=a/2; x4=-a/2;
  y1=-a/2; y2=-a/2; y3=a/2; y4=a/2;
  Show();
  while(g!='e'){
  g=getch();
  Hide();
  switch(g){
  case 77: fi=fi+0.1; x1=x+x1*cos(fi)-y1*sin(fi); y1=y+x1*sin(fi)+y1*cos(fi);
              x2=x+x2*cos(fi)-y2*sin(fi); y2=y+x2*sin(fi)+y2*cos(fi);
              x3=x+x3*cos(fi)-y3*sin(fi); y3=y+x3*sin(fi)+y3*cos(fi);
              x4=x+x4*cos(fi)-y4*sin(fi); y4=y+x4*sin(fi)+y4*cos(fi);
              //setcolor(c);
              line(x1,y1,x2,y2);
              line(x2,y2,x3,y3);
              line(x3,y3,x4,y4);
              line(x4,y4,x1,y1); break;
  case 75: fi=fi-0.1; x1=x+x1*cos(fi)-y1*sin(fi); y1=y+x1*sin(fi)+y1*cos(fi);
              x2=x+x2*cos(fi)-y2*sin(fi); y2=y+x2*sin(fi)+y2*cos(fi);
              x3=x+x3*cos(fi)-y3*sin(fi); y3=y+x3*sin(fi)+y3*cos(fi);
              x4=x+x4*cos(fi)-y4*sin(fi); y4=y+x4*sin(fi)+y4*cos(fi);
             // setcolor(c);
              line(x1,y1,x2,y2);
              line(x2,y2,x3,y3);
              line(x3,y3,x4,y4);
              line(x4,y4,x1,y1); break;
       }
       Show();
  }
}
 
//----------------------------------------//
int main(){
  int point_color,ring;
  int graphdriver=DETECT, graphmode;
  initgraph(&graphdriver, &graphmode, "c:\\progs\\bc31\\bgi");
  Circle *c;
  TPoint *p;
  Kvadrat *kv;
  c=new Circle(300,300,50,3);
  p=new TPoint(400,400,4);
  kv=new Kvadrat(300,300,50,3);
  p->Show();
  p->Hide();
  p->Color();
  p->Hide();
  p->Move();
  p->Hide();
  c->Color();
  c->Hide();
  c->Size();
  c->Hide();
  c->Move();
  c->Hide();
  kv->Draw(3);
  getch();
  closegraph();
  return 0;
}
я тут не все функции повызывал но это не суть важно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2011, 02:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ООП (C++):

ООП - C++
помогите переделать программу в ООП, Создать класс, описывающий следующие понятие рабочий! фамилия,стаж,часовая зароботная плата,...

ООП на С++ - C++
Помогите пожалуйста!! Не понимаю как это сделать(( Создать программу с классом Student порождающий обьекты - данные об студентах...

ООП - C++
1) Для класса символьной строки определить отношение лексикографического порядка, перегрузив с помощью дружественной функции операцию «&lt;» ...

ООП - C++
помогите пожалуйста лабу сделать. не понимаю чет как ее делать((( я 7 вариант

ООП - C++
Привет всем, народ дайте какую-нибудь интересную задачку на ООП, (однообразные задачи из учебников достали уже), чтоб она затрагивала как...

ООП - C++
Создать класс Vegetable, содержащий следующие элементы: - поле «вес» float Mass; - поле «зрелость» int Ripeness; - метод получения...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
03.03.2011, 04:05 #2
public: Kvadtar
Kvadrat::Kvadtar
максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36
03.03.2011, 18:17  [ТС] #3
спс огромное, я олух
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2011, 18:17
Привет! Вот еще темы с ответами:

C++ ООП - C++
Просьба дать какую-нибудь интересную программу, дабы теста на курс ООП. Чтобы не из книжки, а реально придуманная про программистом, или...

по ООП . - C++
Помогите пожалуйтса с решением задач ! на С++ 1.Дана неубывающая последовательность действительных чисел. Вставить в неё...

ООП - C++
Прочитал в википедии про ООП, но так толком и не понял. Подскажите, чем является создание программ с интерфейсом, допустим как калькулятор...

ООП - C++
Подскажите статью или книгу где рассказывается про динамические списки (с указателями,ссылками,динамической памятью и классами знаком)


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

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

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