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

наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Предложения в динамическую память http://www.cyberforum.ru/cpp-beginners/thread40348.html
Как занести в динамическую память введеные с клавиатуры предложения, вводить до тех пор, пока не будет введено предложение, в котором будет только одна буква "К". Вывести предложения в таком порядке, что бы предложения были рассположены в порядке спадания количества слов. В программе применить функцыю подсчета слов.
C++ Как запустить консольное приложение в фоновом режиме? у меня такая проблема, мне надо, чтоб консольное приложение при запуске сворачивалось в трей, или чтоб не было открытого окна cmd, подскажите, кто знает:) З.Ы. Заранее спасибо!:) http://www.cyberforum.ru/cpp-beginners/thread40347.html
C++ Взаимодействие программы и ОС.
Подскажите пожалуста (только сильно не пинайте плз :)) как реализовывается (или с помощью чего) взаимодействие программы и ОС, а потом например с интернетом (аля бот)... как это называется? или дайте пожалуста ссылку на то, где об этом можно почитать. Спасибо :)
C++ Вычислить сумму: 2/3 + 3/4 + 4/5 + ... + 10/11
Ребят нужно сдать практические,если не сдам не допустят до экзамена! кому не трудно помогите please!(сам не понимаю) 1)Вычисление суммы (цикл с параметром) Вычислить сумму: 2/3 + 3/4 + 4/5 + ... + 10/11 2)Дан массив целых чисел. Определить: *сумму элементов массива, расположенных после первого положительного эле-мента. *сумму положительных элементов массива 3)двумерные массивы...
C++ Строки на Borland C++ 3.1 http://www.cyberforum.ru/cpp-beginners/thread40335.html
В каждой строке заменить ту комбинацию из трёх символов, которая чаще всего встречается в строке, на символ &
C++ На главной диагонали новой матрицы разместить элементы заданного столбца исходной матрицы У меня вот небольшой ступр, помогите, пожалуйста. Дана квадратная матрица действительных чисел D размерности NxN. Создать новую матрицу С размерности NxN, на главной диагонали кото-рой разместить элементы заданного столбца матрицы D, а остальные элементы сделать равными 0. подробнее

Показать сообщение отдельно
Girl-On
 Аватар для Girl-On
0 / 0 / 0
Регистрация: 25.05.2009
Сообщений: 12

наследование. виртуальные ф-ции, но трабл в графике, в движении фигуры - C++

16.06.2009, 11:34. Просмотров 425. Ответов 1
Метки (Все метки)

Итакс, здравствуйте))

Это случилось! Это - наследование и виртуальные функции!!! В графическом режиме, help me...

Необходим компактный набор треугольников одного цвета и квадратов другого цвета, которые произвольно двигаются, изменяя размеры только квадратов и общие цвета.

компактный набор треугольников и квадратов -- это как? всмысле они близко др. к др. находятся?? но как тогда это задать в SetCoord?? и как сделать, чтоб размер меняли только квадраты??

вот то, что натворила я, но это надо переделать:
Код
[CPP]#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>

  class FiGura
{
protected:
  int x,y,w,h,color;
public:
  FiGura();
 ~FiGura();
  void SetCoord(int x,int y){this->x=x; this->y=y;};
  void SetRazmer(int x,int y){this->w=x; this->h=y;};
  void SetCvet(int color){this->color=color;};
  virtual void ViVod()=0;
};

  FiGura::FiGura()
{
  cout<<"figyra sozdana"<<endl;
}

  FiGura::~FiGura()
{
  closegraph();
  cout<<"figyra udalena"<<endl;
}

  void inic()
{
  int grdriver,gmode,errorcode;
  detectgraph(&grdriver,&gmode);
  initgraph(&grdriver,&gmode,"D:\\BC\\BGI ");
  errorcode=graphresult();
  if (errorcode!=grOk)
    {cout<<"osibka"<<endl;
    exit(1);}
};

  class KvaDrat:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  rectangle(x,y,x+w,y+w);}
};

  class TreuGol:public FiGura
{
public:
  virtual void ViVod() 
{setcolor(color);
  line(x,y+w,(x+w/2),y);
  line((x+w/2),y,x+w,y+w);
  line(x+w,y+w,x,y+w);}
};

void main()
{int i,j,k;
FiGura*f[10];
TreuGol tr[5];  KvaDrat kv[5];
inic();

for (i=0;i<5;i++){
tr[i].SetCoord(random(300),random(300));
tr[i].SetRazmer(random(100),random(100));
tr[i].SetCvet(random(15)+1);
tr[i].ViVod();
f[i]=&tr[i];
}
for (i=0;i<5;i++){
kv[i].SetCoord(random(300),random(300));
kv[i].SetRazmer(random(100),random(100));
kv[i].SetCvet(random(15)+1);
kv[i].ViVod();
f[i+5]=&kv[i];
}
while(!kbhit())
{
for (i=0;i<3;i++){
 for (j=0;j<10;j++){
   f[j]->SetCvet(random(15)+1);
   f[j]->ViVod();
  }
sleep(1);
 }
 for (k=0;k<10;k++){
 f[k]->SetCvet(BLACK);
 f[k]->ViVod();
 f[k]->SetCoord(random(500),random(500));
 }
 }
getch();
}[/CPP]
Добавлено через 10 часов 20 минут 15 секунд
хоть какая-нибудь подсказка спасет жизнь этому чуду!..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru