Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 14
1

Задачка на виртуальный метод

21.06.2009, 17:10. Просмотров 572. Ответов 0
Метки нет (Все метки)

5 олимпийских окружностей движутся вниз по экрану и меняют свои цвета (как только доходят вниз, появляются вверху экрана и двигаются дальше вниз). Фигура имеет рамку из 2-х прямоугольников.
Вот пример подобной задачи:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<iostream.h>
#include<math.h>
#include<graphics.h>
#include<dos.h>

class fig
{protected:
int x0,y0,raz,color,n,m;

public:
fig()
{};


virtual void param()=0;
virtual void draw()=0;

};

class squareublic fig
{protected:
int dy,x0,y0,raz,color;
public:
square():fig()
{
y0=470;
dy=-10;
x0=400;
raz=random(100);
color=random(16);
};
void param();
void draw();

};

class cirublic fig
{protected:
int dy,x0,y0,raz,color;
public:
cir():fig()
{
dy=10;
y0=10;
x0=random(100);
raz=random(50);
color=random(16);
};
void param();
void draw();

};

void square:aram()
{
if (y0==470) dy=-10;
if (y0==10) dy=10;
y0=y0+dy;
}
void cir:aram()
{
if (y0==470) dy=-10;
if (y0==10) dy=10;
y0=y0+dy;

}
void cir::draw()
{setcolor(color);
circle(x0,y0,raz);
setfillstyle(1,color);
floodfill(x0,y0,color);
}

void square::draw()
{setcolor(color);
rectangle(x0-raz,y0-raz,x0+raz,y0+raz);
setfillstyle(1,color);
floodfill(x0,y0,color);
}


void main()
{ int i,j,n;
randomize();

square kv[20];
cir clr[20];
fig *f[40];

int gd,gm,er;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"d:\\BORLANDC\\BGI");
er=graphresult();
if (er != grOk) grapherrormsg(er);

printf("vvedite razmernabora n=");
scanf("%d",&n);

for (i=0;i<n;i++)
{f[i]=&clr[i];
f[i+n]=&kv[i];
}

while(!kbhit())
{
cleardevice();
for (i=0;i<n;i++)
{
f[i]->param();
f[i]->draw();
f[i+n]->param();
f[i+n]->draw();

}
delay(50);
}
closegraph();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2009, 17:10
Ответы с готовыми решениями:

Виртуальный метод
Здравствуйте! Помогите, пожалуйста, найти ошибку в коде. #include &quot;stdafx.h&quot; class...

Виртуальный метод
class A { virtual void Print()=0; } class B : public A { virtual void Print() {...

Итератор и виртуальный метод
Есть задачка с гугла: #include &lt;iostream&gt; #include &lt;vector&gt; class A { public: A(int n...

Указатель на виртуальный метод
По мотивам какого-то вопроса тут возник вопрос, ответ на который я что-то не придумал. Как взять...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2009, 17:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Виртуальный метод, шаблоны
Необходимо применить виртуальные методы? шаблон templete для какого нибудь метода(новичек) вообще...

Вывести на экран виртуальный метод
Как вывести на экран виртуальный метод?

Виртуальный метод с variadic аргументами ?
class ILogger { public: virtual ~ILogger(){ } virtual void DoLogV(LogLevel::e level, const...

private наследование и виртуальный метод
Привет! Тут хотел бы спросить такой вопрос. Есть базовый класс с виртуальным методом в protected...


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

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

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