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

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

21.06.2009, 17:10. Показов 853. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.06.2009, 17:10
Ответы с готовыми решениями:

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

Виртуальный метод
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) : m_n(n) { }

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.06.2009, 17:10
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru