0 / 0 / 0
Регистрация: 08.01.2009
Сообщений: 14
|
|
1 | |
Задачка на виртуальный метод21.06.2009, 17:10. Показов 727. Ответов 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
|
21.06.2009, 17:10 | |
Ответы с готовыми решениями:
0
Виртуальный метод Виртуальный метод Итератор и виртуальный метод Указатель на виртуальный метод |
21.06.2009, 17:10 | |
21.06.2009, 17:10 | |
Помогаю со студенческими работами здесь
1
Виртуальный метод, шаблоны Вывести на экран виртуальный метод Виртуальный метод с variadic аргументами ? private наследование и виртуальный метод Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |