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

ООП - C++

Восстановить пароль Регистрация
 
максим)
 Аватар для максим)
2 / 2 / 0
Регистрация: 02.10.2010
Сообщений: 36
03.03.2011, 02:20     ООП #1
проблема в классе квадрат- ниже код, я не прошу его переписывать, попробуйте кто то у себя запустите и будьте добры скажите почему там высвечивает 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++ ООП C++
C++ ООП
C++ ООП
ООП C++
C++ ООП
C++ ООП

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 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
спс огромное, я олух
Yandex
Объявления
03.03.2011, 18:17     ООП
Ответ Создать тему
Опции темы

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