Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Наследование.doc
Скачиваний:
16
Добавлен:
18.04.2015
Размер:
169.47 Кб
Скачать

Класс “точка на графическом экране”. Производный класс –“пятно”

// следующее описание класса point находится в модуле point.h

#ifndef PH

#define PH 1

class point { //точка на экране дисплея

protected:

int x, y ; // защищенные компонентные данные

public: // общедоступные компонентные функции

point (int xx=0 , int yy =0) ; // прототип конструктора

// с умалчиваемыми значениями

int& GetX (); // функция возвращает координату x

int& GetY (); // функция возвращает координату y

void show (void); // прототип функции изображения точки

void move ( int xo=0 , int yo =0) ; // прототип функции

// перемещения точки с умалчиваемыми значениями

// по умолчанию перемещает в нулевые координаты

private : // собственная функция класса

void hide ( ) ; // прототип функции, убирающей точку с экрана

} ;

#endif

// внешнее определение методам класса находится в модуле point.cpp

#ifndef PC

#define PC 1

# include <graphics.h> // подключение графической библиотеки

# includepoint.h//необходимо включить описание класса point

point::point( int x1, int y1 ) // определение конструктора

{ x = x1 ; y = y1 ; }

Void point :: show (void)

{

putpixel (x, y , getcolor( ) ) ;

// изображает точку с координатами x, y цветом,

// номер которого дает третий параметр

// int getcolor(void) - возвращает текущий номер цвета символов

}

void point :: hide(void) // убирает точку с экрана

{ putpixel (x, y , getbkcolor( )) ; } // int getbkcolor( void) -

// возвращает номер цвета фона

Void point ::move ( int xn, int yn )

{ hide ( ) ; // убирает тоску с координатами x, y

x =xn ; y= yn ; // координатам присваивается новое значение

show ( ) ; // изображается точка с новыми координатами

}

Int&point::GetX (){return X;}

Int& point:: GetY(void) {return y;}

#endif

При объявлении методов класса использовались (инкапсулировались) графические функции, прототипы которых находятся в заголовочном файле graphics.h

Все эти функции предоставляют возможности управления графическим экраном.

Стандартное состояние ПК – соответствует работе экрана в текстовом режиме (25 строк по 80 символов в строке).

Если мы хотим использовать графические средства компьютера, необходимо инициировать графический режим работы дисплейного адаптера.

Для управления техническими средствами ПК имеются соответствующие программы, называемые драйверами.

Графический драйвер управляет дисплейным адаптером в графическом режиме.

Графические возможности адаптера определяются разрешением экрана (количеством точек экрана) и количеством цветов, которыми может светиться каждая точка.

Наиболее распространенные дисплейные адаптеры (CGA - Color Graphics Adapter, EGA – Enhanced (усиленный) Graphics Adapter, VGA – Video Graphics Array (графический видеомассив), SVGA и т. д. ) могут иметь несколько графических режимов работы. Для управления современными графическими адаптерами мы используем драйвер EGAVGA.BGI

Экран представляет собой совокупность светящихся точек - пикселей. Количество точек определяется монитором и режимом драйвера для работы с ним. Положение пикселя определяется его координатами по отношению к точке с координатами 0, 0 – верхнему левому углу экрана.

Для инициализации графического режима адаптера используется вызов функции: