Класс «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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|