Санкт-Петербургский Государственный Электротехнический
Университет «ЛЭТИ»
Кафедра МОЭВМ
Лабораторная работа №3 по
Объектно-ориентированному программированию
О Т Ч Е Т
Выполнил студент гр. 3341
Худяков Я.
Санкт-Петербург
2006 г.
Постановка задачи.
1. Содержательная постановка задачи.
Необходимо разработать программу, релизующую размещение набора цветных равнобедренных треугольников на квадратном планшете. Стороны планшета расположены параллельно осям координат. Представление цветного равнобедренного треугольника реализовать на основе простого наследования равнобедренного треугольника. Представление набора цветных равнобедренных треугольников на квадратном планшете реализовать с помощью множественного наследования.
2. Сценарий диалога с пользователем.
Тестирующая программа выполняет необходимые действия по тестированию методов классов и выводит текущие результаты на экран поэтапно, при участии пользователя.
Описание программы.
Классовая структура.
В программе реализованы 3 класса:
класс «cColTriangle» - реализация цветного равнобедренного треугольника. Наследник класса равнобедренный треугольник
класс «cMapboard» - реализация квадратного планшета.
класс «сTrOnBoard» - реализация размещения кольцевого списка цветных равнобедренных треугольников на квадратном планшете. Наследник класса кольцевой список и класса квадратный планшет.
В программе так же использованы классы, разработанные в ходе выполнения предыдущих заданий: реализация точки, равнобедренного треугольника, элемента списка и кольцевого списка.
cColTriangle
члены-данные
ColorsColorЦвет треугольника
Тип Colors– перечисление цветов
члены-функции
cColTriangle конструктор
void SetColor Модификатор цвета
Colors GetColor Селектор цвета
void Set Модификатор треугольника
void out Вывод на экран
cMapboard
члены-данные
cPoint Center Данные
Double Stor Сторона квадрата.
члены-функции
cMapboard Конструктор
void SetCenter Модификатор точки центра
void SetStor Модификатор значения стороны
void Set Модификатор планшета
void GetX Селектор абсциссы центра
void GetY Селектор ординаты центра
void GetStor Селектор стороны планшета
inc inv Инвариант
сTrOnBoard
члены-функции
cTrOnBoard Конструктор
inc Correct Проверка треугольника на вместимость на планшет
void addontable Добавление треугольника при (Correct == 1)
void reform Удаление треугольников, не отвечающих Correct
voidSetNewCenter cMapboard::SetCenter + reform
void SetNewStor cMapboard::SetStor + reform
void boardout Вывод списка на экран
Характеристика программы.
Список файлов.
сСolTriangle.h,cColTriangle.cppкласс цветной равнобедренный треугольник
cMapboard.h,cMapboard.cppкласс круглый планшет
cTrOnBoard.h,cTrOnBoard.cppкласс набор треугольников на планшете
tester3.cppтестирующая программа.
Исследование.
Проведение тестов с помощью программы тестера позволяют судить о работоспособности представленных классов.
Приложения.
Листинг исходного кода программы.
1. cColTriangle.h
#ifndef H005
#define H005
#include "cTriangle.cpp"
enum Colors
{
red=1,green,blue
};
class cColTriangle : public cTriangle
{
private:
Colors Color;
public:
cColTriangle(cPoint P1, cPoint P2, cPoint P3); //constructor
cColTriangle(); //constructor
void SetColor(Colors C); //color modificator
Colors GetColor(); //selector of color
void Set(cColTriangle F); //triangle modificator
void out(); //out on screen
};
#endif