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

проблемы с ООП - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ подскажите програмку http://www.cyberforum.ru/cpp-beginners/thread436489.html
нужна програмка, которая выводит на форму трапецию, круг и текстовые подписи для фигур.
C++ Объясните для идиота. Итак, пытаюсь разобраться с матрицами. Вроде как сделал двумерный массив, но(!) почему он выводится в строчку? Надо чтобы он имел вид простой матрицы: 1 2 3 4 5 6 7 8 9 Что именно не так? Добавлено через 1 минуту http://www.cyberforum.ru/cpp-beginners/thread436473.html
C++ Как правильно массиву объектов присвоить ссылки на объекты.
TPoint Point,*p_Point; p_Point = Point; TPoint Mass; for (i=0; i<10; i++) { Mass = p_Point; //вот не задвоятся ли у меня объекты? Правильно ли я делаю? }
C++ Вывод на экран "столбиком" четырех любых чисел
Задачи : 1)Составить программу вывода на экран "столбиком" 4 любых чисел 2)Даны катеты прямоугольного треугольника. Найти его гипотенузу (катеты нужно вводить !!) 3)Дан радиус окружности. Найти ее диаметр (радиус нужно вводить !!!)
C++ помогите изменить задачу !! http://www.cyberforum.ru/cpp-beginners/thread436432.html
ЗАДАЧА: #include <iostream> #include <cmath> #include <iomanip> int main() { std::cout << std::fixed << std::setprecision(2); for(double x=0.2;x<=0.8;x+=0.1)
C++ Можно ли в классе создавать массив переменной длинны. Например динамический массив? Динамические массивы привлекают больше. :) подробнее

Показать сообщение отдельно
videolord
 Аватар для videolord
48 / 14 / 1
Регистрация: 20.02.2011
Сообщений: 152
27.01.2012, 18:04     проблемы с ООП
привет всем! надо было написать рандомно движущийся прямоугольник на Borland C 3.1
1-пример написал без ООП, и все нормально работает, а вот 2-пример с ООП почемуто не двигается,в чем дело ?
пример 1
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
int main()
{
    int driver = DETECT, gmode;
    initgraph(&driver, &gmode, "c:\\bc\\bgi");
    if (grOk != graphresult()) return(1);
 
 
    int x1=450, y1=250, x2=600, y2=400;
    nt dx = 5, dy = 5;
     int maxx = getmaxx(), maxy = getmaxy();
 
    line (0, 0, maxx, 0);
    line (0, 0, 0,maxy);
    line (maxx, maxy, 0,maxy);
    line (maxx, maxy, maxx, 0);
 
    while( !kbhit() )
    {
    delay(15);
 
    if (x1 <= 0 || x2 >= maxx)  dx = -dx;
    if (y1 <= 0 || y2 >= maxy)  dy = -dy;
    setfillstyle (SOLID_FILL, BLACK);
    bar (1,1,maxx-1,maxy-1);
    x1+= dx ;
    y1+= dy ;
    x2+= dx ;
    y2+= dy ;
    setfillstyle (SOLID_FILL, WHITE);
    rectangle(x1,y1,x2,y2);
 
    } 
 
    cleardevice();
    closegraph();
    return 0;
}
пример 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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
 
 
 class MyRectangle{
 public:
  int x1,y1,x2,y2,col;
  MyRectangle();
  MyRectangle(int x1,int y1,int x2,int y2,int col);
  void setCol(int col);
  void hide();
  void show();
  void move(int dx,int dy);
 };
 
 int maxx=600;
 int maxy=500;
 
  MyRectangle::MyRectangle(){x1=450, y1=250, x2=600, y2=400;col=12;}
  MyRectangle::MyRectangle(int x1,int y1,int x2,int y2,int col){
   this->x1=x1;
   this->y1=y1;
   this->x2=x2;
   this->y2=y2;
   this->col=col;
  }
 
 void MyRectangle::setCol(int col){this->col=col;}
 
 void MyRectangle::hide()
 {
  setfillstyle (SOLID_FILL, BLACK);
  bar (1,1,maxx-1,maxy-1);
 }
 void MyRectangle::show()
 {
   setfillstyle (SOLID_FILL,WHITE );
   rectangle(x1,y1,x2,y2);
 }
 void MyRectangle::move(int dx,int dy)
 {
  if (x1 <= 0 || x2 >= maxx)  dx = -dx;
  if (y1 <= 0 || y2 >= maxy)  dy = -dy;
 
   hide();
   x1+= dx ;
   y1+= dy ;
   x2+= dx ;
   y2+= dy ;
 
   show();
 }
 
int main()
{
    int driver = DETECT, gmode;
    initgraph(&driver, &gmode, "c:\\bc\\bgi");
    if (grOk != graphresult()) return(1);
    int x1=450, y1=250, x2=600, y2=400;
    MyRectangle MyRect(x1,y1,x2,y2,12);
    int dx = 5, dy = 5;
    line (0, 0, maxx, 0);
    line (0, 0, 0,maxy);
    line (maxx, maxy, 0,maxy);
    line (maxx, maxy, maxx, 0);
 
  
    while( !kbhit() )
    {
     delay(15);
     MyRect.move(dx,dy);
    }
 
    cleardevice();
    closegraph();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru