Иллюстрированный самоучитель по Visual Studio.Net

Шины тобольск, html по материалам сайта. | Диски нояьрьск, html тут. | ярмарка меда на теплом стане, домик. | Мировые новости Great Wall. |

Класс графика



С помощью Studio.Net введите в состав проекта новый generic-класс CGraph, не указывая имени базового класса и не включая флажок Virtual destructor. В файл декларации нового класса введите вручную вспомогательный класс CDPoint, необходимость в котором мы обсуждали ранее. Затем добавьте объявление структуры TData, которая собирает воедино все данные, используемые при построении графика. Начальная буква Т в имени класса осталась со времен работы в среде Borland. Там принято все классы именовать начиная с буквы Т (Туре), означающей создание нового типа данных. Но в отличие от старой реализации графика, которая, возможно, знакома читателю по книге «Технологии программирования на языке C++» (Издательство СПбГТУ, 1997), мы введем в класс CGraph некоторые новые возможности:

#pragma once

class CDPoint

{

public:

//=== Две вещественные координаты точки на плоскости

double x, у;

//======= Стандартный набор конструкторов и операций

CDPoint () {

х=0.; у=0.;

}

CDPoint(double xx, double yy) {

х=хх;

У=УУ;

}

CDPoints operator=(const CDPointi pt) {

x = pt.x;

У = pt.y; return *this;

}

CDPoint(const CDPointS pt) {

*this - pt; } };

//===== Вспомогательные данные, характеризующие

//== последовательность координат вдоль одной из осей

struct TData (

//===== Порядок в нормализованном представлении числа

int Power; //===== Флаг оси X

bool bХ; double

//======= Экстремумы

Min, Max,

//======= Множитель -(10 в степени Power)

{

Factor,

//======= Шаг вдоль оси (мантисса)

Step,

//======= Реальный шаг

dStep,

//==== Первая и последняя координаты (мантиссы)

Start, End,

// ======= Первая и последняя координаты

dStart, dEnd; };

//===== Класс, реализующий функции плоского графика

class CGraph { public:

//===== Данные, характеризующие данные вдоль осей

TData m_DataX, m_DataY;

//===== Контейнер точек графика

vector <CDPoint>& m_Points;

//===== Текущие размеры окна графика

CSize m_Size;

//===== Экранные координаты центра окна



Начало  Назад  Вперед



Книжный магазин