Составители:
Рубрика:
76
Shape *mas[10];
for(int i=0;i<10;i++)
{mas[i++]=new Circle(random(600),random(400),random(100)+10);
mas[i]=new Rectangle(random(600),random(400),random(100)+10,random(50)+10);
}
for(i=0;i<10;i++)
mas[i]->show();
getch();
for(int j=0;j<3;j++)
{for(i=0;i<10;i++)
mas[i]->move(random(100)-50,random(100)-50);
getch();
}
closegraph();
}
else { cout<<"error";getch();}
}
В программе из листинга 31 определены классы Circle и Rectangle, описы-
вающие графические фигуры, окружность и прямоугольник соответственно. Сов-
падающие свойства этих геометрических фигур вынесены в базовый класс Shape.
Этими свойствами являются –базовая точка фигуры base, определяющая местопо-
ложение фигуры на экране, цвет фигуры color, метод move, перемещающий фигу-
ру по экрану. Необходимо обратить внимание на реализацию метода
move. Для
того чтобы переместить фигуру, ее сначала отображаем цветом фона, изменяем
координаты базовой точки фигуры, а затем отображаем цветом фигуры. Такая
процедура перемещения подходит для работы с любой фигурой -–и окружностью,
и прямоугольником, поэтому метод move наследуется классами Circle и Rectangle.
Для отображения фигуры метод move использует метод show. В классе Shape ме-
тод move просто отображает
на экране базовую точку фигуры (вообще то, метод
move в классе Shape не должен ничего отображать, поскольку этот класс с точки
зрения предметной области является абстракцией, служащей основой для созда-
ния производных классов, но об абстрактных классах речь пойдет в следующей
главе). В классах Circle и Rectangle метод show отображает соответствующую
геометрическую фигуру. Для правильной
работы программы метод show должен
быть объявлен виртуальным, поскольку вызов метода move для объектов классов
Shape *mas[10]; for(int i=0;i<10;i++) {mas[i++]=new Circle(random(600),random(400),random(100)+10); mas[i]=new Rectangle(random(600),random(400),random(100)+10,random(50)+10); } for(i=0;i<10;i++) mas[i]->show(); getch(); for(int j=0;j<3;j++) {for(i=0;i<10;i++) mas[i]->move(random(100)-50,random(100)-50); getch(); } closegraph(); } else { cout<<"error";getch();} } В программе из листинга 31 определены классы Circle и Rectangle, описы- вающие графические фигуры, окружность и прямоугольник соответственно. Сов- падающие свойства этих геометрических фигур вынесены в базовый класс Shape. Этими свойствами являются –базовая точка фигуры base, определяющая местопо- ложение фигуры на экране, цвет фигуры color, метод move, перемещающий фигу- ру по экрану. Необходимо обратить внимание на реализацию метода move. Для того чтобы переместить фигуру, ее сначала отображаем цветом фона, изменяем координаты базовой точки фигуры, а затем отображаем цветом фигуры. Такая процедура перемещения подходит для работы с любой фигурой -–и окружностью, и прямоугольником, поэтому метод move наследуется классами Circle и Rectangle. Для отображения фигуры метод move использует метод show. В классе Shape ме- тод move просто отображает на экране базовую точку фигуры (вообще то, метод move в классе Shape не должен ничего отображать, поскольку этот класс с точки зрения предметной области является абстракцией, служащей основой для созда- ния производных классов, но об абстрактных классах речь пойдет в следующей главе). В классах Circle и Rectangle метод show отображает соответствующую геометрическую фигуру. Для правильной работы программы метод show должен быть объявлен виртуальным, поскольку вызов метода move для объектов классов 76
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »