Министерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра прикладной математики
Расчётно-графическое задание
по курсу ООП
СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ И КОДА НА С++ В СРЕДЕ RATIONALROSE
Факультет: прикладной математики и информатики
Группа: ПМ-42
Студент: Шилов Д.М.
Преподаватель: Полетаева И.А.
Новосибирск
2005
Постановка задачи:
Составить совокупность диаграмм классов, соответствующую графической системе, разработанной в лабораторной работе №5, и произвести автоматическую генерацию прототипа кода разработанных классов.
Составить диаграммы классов, содержащие
– геометрические фигуры;
– шаблон и инстанцированные контейнеры.
Специфицировать атрибуты и операции классов, а также отношения, существующие между классами.
Произвести автоматическую генерацию прототипа кода разработанных классов.
Сгенерированный код сравнить с кодом, полученным в лабораторной работе №5. В случае необходимости внести исправления в диаграммы классов и повторить генерацию кода.
Диаграммы классов:
Сгенерированныйкод:
//## Module: basic_circle%43B0C69903B9; Pseudo Package specification
//## Source file: C:\Program Files\Rational\Rose\C++\source\basic_circle.h
#ifndef basic_circle_h
#define basic_circle_h 1
//## Class: basic_circle%43B0C69903B9
//## Category: <Top Level>
//## Persistence: Transient
//## Cardinality/Multiplicity: n
class basic_circle
{ public:
//## Constructors (generated)
basic_circle();
basic_circle(const basic_circle &right);
//## Destructor (generated)
~basic_circle();
//## Assignment Operation (generated)
basic_circle & operator=(const basic_circle &right);
//## Equality Operations (generated)
int operator==(const basic_circle &right) const;
int operator!=(const basic_circle &right) const;
//## Other Operations (specified)
//## Operation: get_x%43B0C7CD0186
Integer get_x ();
//## Operation: get_y%43B0C86901B5
Integer get_y ();
//## Operation: get_R%43B0C87A0109
Integer get_R ();
//## Operation: paint%43B0C893000F
Variant paint ();
//## Operation: check_up%43B0C8D702BF
Variant check_up ();
// Additional Public Declarations
//## begin basic_circle%43B0C69903B9.public preserve=yes
//## end basic_circle%43B0C69903B9.public
protected:
//## Get and Set Operations for Class Attributes (generated)
//## Attribute: width%43B0C70D0138
const Integer get_width () const;
void set_width (Integer value);
//## Attribute: linecolor%43B0C7340261
const Integer get_linecolor () const;
void set_linecolor (Integer value);
//## Attribute: x%43B0C73C0177
const Integer get_x () const;
void set_x (Integer value);
//## Attribute: y%43B0C73F036B
const Integer get_y () const;
void set_y (Integer value);
//## Attribute: R%43B0C7420290
const Integer get_R () const;
void set_R (Integer value);
// Additional Protected Declarations
//## begin basic_circle%43B0C69903B9.protected preserve=yes
//## end basic_circle%43B0C69903B9.protected
private:
// Additional Private Declarations
//## begin basic_circle%43B0C69903B9.private preserve=yes
//## end basic_circle%43B0C69903B9.private
private: //## implementation
// Data Members for Class Attributes
//## begin basic_circle::width%43B0C70D0138.attr preserve=no protected: Integer {U}
Integer width;
//## end basic_circle::width%43B0C70D0138.attr
//## begin basic_circle::linecolor%43B0C7340261.attr preserve=no protected: Integer {U}
Integer linecolor;
//## end basic_circle::linecolor%43B0C7340261.attr
//## begin basic_circle::x%43B0C73C0177.attr preserve=no protected: Integer {U}
Integer x;
//## end basic_circle::x%43B0C73C0177.attr
//## begin basic_circle::y%43B0C73F036B.attr preserve=no protected: Integer {U}
Integer y;
//## end basic_circle::y%43B0C73F036B.attr
//## begin basic_circle::R%43B0C7420290.attr preserve=no protected: Integer {U}
Integer R;
//## end basic_circle::R%43B0C7420290.attr
// Additional Implementation Declarations
//## begin basic_circle%43B0C69903B9.implementation preserve=yes
//## end basic_circle%43B0C69903B9.implementation
};
//## begin basic_circle%43B0C69903B9.postscript preserve=yes
//## end basic_circle%43B0C69903B9.postscript
// Class basic_circle
//## Get and Set Operations for Class Attributes (inline)
inline const Integer basic_circle::get_width () const
{
//## begin basic_circle::get_width%43B0C70D0138.get preserve=no
return width;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.