Скачиваний:
16
Добавлен:
01.05.2014
Размер:
74.75 Кб
Скачать

Санкт-Петербургский Государственный Электротехнический Университет

“ЛЭТИ”

Кафедра МО ЭВМ

Отчет

Лабораторная работа №3

Выполнил:

Грудинин Н. А. гр. 3341

Санкт–Петербург 2006 г.

  1. Содержательная постановка задачи

Разработать программу, моделирующую размещение набора цветных окружностей на прямоугольном планшете. Представление цветных окружностей выполнить с использованием простого наследования. Представление набора цветных окружностей, размещенных на прямоугольном планшете, реализовать на основе множественного наследования.

2. Описание программы

Классовая структура

В программе разработано три класса:

  1. класс «ColorRound» - реализация цветной окружности. Наследник класса окружности

  2. класс «Board» - реализация прямоугольного планшета.

  3. класс «RoundOnBoard» - реализация размещения Л1 списка цветных окружностей на прямоугольном планшете. Наследник класса Л1 список и класса прямоугольный планшет.

ColorRound

члены-данные

члены-функции

int Color

Цвет окружности

ColorRound

конструктор

void SetColor

Модификатор цвета

int GetColor

Селектор цвета

Board

члены-данные

члены-функции

Point Top[4]

Вершины прямоугольника

Board

Конструктор

Point GetTop(int i)

Селектор данных

void SetTop(Point A, int i)

Модификатор

RoundOnBoard

члены-данные

члены-функции

RoundOnBoard

Конструктор

Void addonboard (ColorRound A)

Добавление окружности на планшет

void view

Вывод на экран

3. Характеристика программы

Список файлов.

colorround.h, colorround.cpp класс цветной окружности

board.h, board.cpp класс прямоугольный планшет

roundonboard.h, roundonboard.cpp класс набор цветных окружностей на планшете

tester.cpp тестирующая программа.

Исследование.

Все проведенные тесты показывают корректность работы программы.

4. Приложение

Листинг исходного кода программы.

  1. colorround.h

#ifndef _ColorRound_h

#define _ColorRound_h

#include <Round.cpp>

class ColorRound: public Round {

int color;

public:

ColorRound();

ColorRound( const Point &O, const double radius0, const int color0, int &id);

~ColorRound();

void SetColor(const int color0);

const int GetColor();

};

#endif

  1. colorround.cpp

#include <ColorRound.h>

ColorRound::ColorRound(){

color=1;

}

ColorRound::ColorRound(const Point &O, const double radius0, const int color0, int &id){

SetCenter(O);

SetRadius(radius0);

color=color0;

SetId(id);

}

ColorRound::~ColorRound(){

}

inline void ColorRound::SetColor(const int color0){

color=color0;

}

inline const int ColorRound::GetColor(){

return color;

}

  1. board.h

#ifndef board_h

#define board_h

#include <point.cpp>

class board{

Point Top[4];

public:

board();

board(const Point &A, const Point &B, const Point &C, const Point &D);

~board();

Point GetTop(const int i);

void SetTop(const int i, const Point &X);

};

#endif

  1. board.cpp

#include <board.h>

board::board(){

int id=0;

Point temp(0,0,id);

Point temp1(1,0,id);

Point temp2(0,1,id);

Point temp3(1,1,id);

Top[0]=temp;

Top[1]=temp1;

Top[2]=temp2;

Top[3]=temp3;

}

board::board(const Point &A, const Point &B, const Point &C, const Point &D){

Top[0]=A;

Top[1]=B;

Top[2]=C;

Top[3]=D;

}

board::~board(){

}

inline void board::SetTop(const int i, const Point &X){

Top[i]=X;

}

inline Point board::GetTop(const int i){

return Top[i];

}

  1. roundonboard.h

#ifndef _RoundOnBoard_h

#define _RoundOnBoard_h

#include <list.cpp>

#include <board.cpp>

class roundonboard : public board, public list

{

public:

roundonboard();

~roundonboard();

void addonboard(const ColorRound &A);

void view();

};

#endif

  1. roundonboard.cpp

#include <roundonboard.h>

roundonboard::roundonboard(){

}

roundonboard::~roundonboard(){

}

inline void roundonboard::addonboard(const ColorRound &A){

insert(A);

}

void roundonboard::view(){

print();

}

Соседние файлы в папке Лабораторная работа 3