Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Класс «stack.h». (шаблон-контейнер)

Министерство Образования и Науки Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Новосибирский Государственный Технический Университет

Кафедра ПМт

 

 

Расчетно-графическое задание

по объектно-ориентированному программированию

 

Факультет: ПМИ

Группа: ПМИ - 21

Студент: Давыдов Д.В.

Преподаватель: Еланцева И.Л.

 

Новосибирск 2013

Цель работы

Изучить средства работы с диаграммой классов и создания прототипа кода на языке С++, предоставляемые системой Enterprise Architect.

1. Ознакомиться с назначением и элементами диаграммы классов, технологией разработки диаграмм классов и создания прототипа кода классов на языке С++ в системе Enterprise Architect.

2. Составить диаграмму классов, соответствующую графической системе, разработанной в лабораторных работах № 4, 5, и произвести автоматическую генерацию прототипа кода разработанных классов.

2.1. Поместить на диаграмму классы геометрических фигур и шаблон контейнера.

2.2. Специфицировать атрибуты и операции классов, а также отношения, существующие между классами.

2.3. Произвести автоматическую генерацию прототипа кода разработанных классов.

2.4. Сгенерированный код сравнить с кодом, полученным в лабораторных работах № 4, 5. В случае необходимости внести исправления в диаграмму классов и повторить генерацию кода.

4. Оформить отчет, содержащий постановку задачи, разработанную диаграмму классов и текст прототипа кода.

5. Защитить РГЗ, ответив на вопросы преподавателя.

 

Сгенерированный код:

Класс «Rec_crod». (Прямоугольник)

///////////////////////////////////////////////////////////

// Rec_cord.h

// Implementation of the Class Rec_cord

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_)

#define EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_

 

class Rec_cord

{

 

public:

Rec_cord();

virtual ~Rec_cord();

 

virtual void color(HDC WIN, HWND window) =0;

void input(RECT rt, FILE* file);

 

protected:

int x1;

int x2;

int y1;

int y2;

 

int test(int x1, int y1, int x2, int y2, RECT rt);

 

};

#endif //!defined(EA_389A3A29_F36F_4ecd_931D_1CD50AA62924__INCLUDED_)

///////////////////////////////////////////////////////////

// Rec_cord.cpp

// Implementation of the Class Rec_cord

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#include "Rec_cord.h"

 

 

Rec_cord::Rec_cord(){

 

}

 

Rec_cord::~Rec_cord(){

 

}

 

void Rec_cord::input(RECT rt, FILE* file){

 

}

 

 

int Rec_cord::test(int x1, int y1, int x2, int y2, RECT rt){

 

return 0;

}

Класс «Rec_cont». (контур)

///////////////////////////////////////////////////////////

// Rec_cont.h

// Implementation of the Class Rec_cont

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_)

#define EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_

 

#include "Rec_cord.h"

#include "col.h"

 

class Rec_cont: public Rec_cord

{

 

public:

Rec_cont();

virtual ~Rec_cont();

 

void color(HDC WIN, HWND window);

int get_cord_X1(Rec_cont X1);

int get_cord_X2(Rec_cont X1);

int get_cord_Y1(Rec_cont X1);

int get_cord_Y2(Rec_cont X1);

void set_cord_X1(int x1);

void set_cord_X2(int x2);

void set_cord_Y1(int y1);

void set_cord_Y2(int y2);

void set_pencolor(int rp, int gp, int bp);

 

protected:

col pen;

 

};

#endif //!defined(EA_3F04F163_6777_43b1_978F_C8E98C6EA8D6__INCLUDED_)

///////////////////////////////////////////////////////////

// Rec_cont.cpp

// Implementation of the Class Rec_cont

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#include "Rec_cont.h"

 

 

Rec_cont::Rec_cont(){

 

}

 

Rec_cont::~Rec_cont(){

 

}

 

void Rec_cont::color(HDC WIN, HWND window){

 

}

 

 

int Rec_cont::get_cord_X1(Rec_cont X1){

 

return 0;

}

 

 

int Rec_cont::get_cord_X2(Rec_cont X1){

 

return 0;

}

 

 

int Rec_cont::get_cord_Y1(Rec_cont X1){

 

return 0;

}

 

 

int Rec_cont::get_cord_Y2(Rec_cont X1){

 

return 0;

}

 

 

void Rec_cont::set_cord_X1(int x1){

 

}

 

 

void Rec_cont::set_cord_X2(int x2){

 

}

 

 

void Rec_cont::set_cord_Y1(int y1){

 

}

 

 

void Rec_cont::set_cord_Y2(int y2){

 

}

 

 

void Rec_cont::set_pencolor(int rp, int gp, int bp){

 

}

Класс «Rec_ful». (закрашенная)

///////////////////////////////////////////////////////////

// Rec_ful.h

// Implementation of the Class Rec_ful

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_)

#define EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_

 

#include "Rec_cont.h"

#include "Rec_brush.h"

 

class Rec_ful: public Rec_cont, public Rec_brush

{

 

public:

Rec_ful();

virtual ~Rec_ful();

 

void Clean(RECT rt, HDC WIN, HWND window);

void color(HDC WIN, HWND window);

 

};

#endif //!defined(EA_E4C398CA_893A_496a_8D66_EB7F662EE863__INCLUDED_)

///////////////////////////////////////////////////////////

// Rec_ful.cpp

// Implementation of the Class Rec_ful

// Created on: 23-дек-2010 17:40:02

// Original author: Iver

///////////////////////////////////////////////////////////

 

#include "Rec_ful.h"

 

 

Rec_ful::Rec_ful(){

 

}

 

Rec_ful::~Rec_ful(){

 

}

 

void Rec_ful::Clean(RECT rt, HDC WIN, HWND window){

 

}

 

 

void Rec_ful::color(HDC WIN, HWND window){

 

}

Класс «Rec_brush». (кисть)

///////////////////////////////////////////////////////////

// Rec_brush.h

// Implementation of the Class Rec_brush

// Created on: 23-дек-2010 17:40:00

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_)

#define EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_

 

#include "col.h"

 

class Rec_brush

{

 

public:

Rec_brush();

virtual ~Rec_brush();

 

void set_brushcolor(int rb, int gb, int bb);

 

protected:

col brush;

 

};

#endif //!defined(EA_BA85C97F_19A6_45de_8BF6_E189CCC3F69F__INCLUDED_)

///////////////////////////////////////////////////////////

// Rec_brush.cpp

// Implementation of the Class Rec_brush

// Created on: 23-дек-2010 17:40:00

// Original author: Iver

///////////////////////////////////////////////////////////

 

#include "Rec_brush.h"

 

 

Rec_brush::Rec_brush(){

 

}

 

Rec_brush::~Rec_brush(){

 

}

 

void Rec_brush::set_brushcolor(int rb, int gb, int bb){

 

}

Класс «Rec_combo». (вложенные)

///////////////////////////////////////////////////////////

// Rec_combo.h

// Implementation of the Class Rec_combo

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_)

#define EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_

 

#include "Rec_ful.h"

#include "Rec_cont.h"

 

class Rec_combo: public Rec_ful

{

 

public:

Rec_combo();

virtual ~Rec_combo();

 

void color_input(HDC WIN, HWND window);

void input_c(RECT rt, FILE* file);

int test_input();

 

protected:

Rec_cont *A;

 

};

#endif //!defined(EA_645F9EE8_2568_47f6_9C9B_23D693C8D937__INCLUDED_)

///////////////////////////////////////////////////////////

// Rec_combo.cpp

// Implementation of the Class Rec_combo

// Created on: 23-дек-2010 17:40:01

// Original author: Iver

///////////////////////////////////////////////////////////

 

#include "Rec_combo.h"

 

 

Rec_combo::Rec_combo(){

 

}

 

Rec_combo::~Rec_combo(){

 

}

 

void Rec_combo::color_input(HDC WIN, HWND window){

 

}

 

 

void Rec_combo::input_c(RECT rt, FILE* file){

 

}

 

 

int Rec_combo::test_input(){

 

return 0;

}

Класс «stack.h». (шаблон-контейнер)

///////////////////////////////////////////////////////////

// stack.h

// Implementation of the Class stack

// Created on: 23-дек-2010 15:35:46

// Original author: Iver

///////////////////////////////////////////////////////////

 

#if!defined(EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_)

#define EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_

 

template<class Type>

class stack

{

 

public:

struct list

{

 

public:

list* next;

Type rec;

 

};

 

stack(){

 

}

~stack(){

 

}

void Add(Type W, HDC WIN, HWND window, RECT rt){

 

}

void Del(HDC WIN, HWND window, RECT rt){

 

}

int empty(){

 

return 0;

}

void FIND(HDC WIN, HWND window, RECT rt, int X1, int X2, int Y1, int Y2){

 

}

void PRINT(FILE* file){

 

}

 

private:

list* head;

 

};

#endif //!defined(EA_35DBD6D0_E78E_4d32_BACB_913E6A312502__INCLUDED_)

Закрытые атрибуты классов:

int x1, y1, x2, y2; - координаты прямоугольника

int test(int x1, int y1, int x2, int y2, RECT rt); - тест на вложенность в экран

col pen; - цвет пера

col brush; - цвет кисти

Rec_cont A; - контур прямоугольника

 

 

Открытая часть классов:

set-функции:

void set_cord_X1(int x1); - координата Х1

void set_cord_X2(int x2); - координата Х2

void set_cord_Y1(int y1); - координата У1

void set_cord_Y2(int y2); - координата У2

void set_move_un(RECT rt, HDC WIN, HWND window); - движение прямоугольника

void set_pencolor(int rp, int gp, int bp); - цвет пера

void set_brushcolor(int rb, int gb, int bb); - цвет кисти

 

get-функции:

int get_cord_X1(Rec_cont X1); - координата Х1

int get_cord_X2(Rec_cont X1); - координата Х2

int get_cord_Y1(Rec_cont X1); - координата У1

int get_cord_Y2(Rec_cont X1); - координата У2

 

 

int test_input(); - проверка вложености фигур

void input_c(RECT rt, FILE*file); - ввод для контура

void color_input(HDC WIN, HWND window); - Рисование вложеных фигур

void color(HDC WIN, HWND window); - рисование прямоугольников

void Clean(RECT rt, HDC WIN, HWND window); - очистка экрана

void input(RECT rt, FILE*file); - ввод координат

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...