Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 20:40   #1
whim
Новичок
Джуниор
 
Регистрация: 09.06.2010
Сообщений: 2
По умолчанию классы в с++

Помогите пожалуйста написать диаграмму класса Rectangle , заранее благодарна. вот код программы:

/
Код:
/Заголовочный файл Rectangle.h содержит: интерфейс и реализацию класса Rectangle_.
#ifndef RECTANGLE_H
#define RECTANGLE_H

#include <vcl.h>
#include "Form.h"
#include "Point.h"

class Rectangle_
{
Point_ N,M;//Точка N - правый верхний угол прямоугольника.
           //Точка M - левый нижний угол прямоугольника.

public:
Rectangle_(); //Конструктор по умолчанию.
Rectangle_(int,int,int,int);//Конструктор int.
Rectangle_(Point_,Point_);  //Конструктор Point_.
Rectangle_(TRect);          //Конструктор TRect.

Point_ Acsessor_A(){return N;} //Ф-ция аксессор переменной N.
Point_ Acsessor_B(){return M;} //Ф-ция аксессор переменной M.
void Mutator(int,int,int,int); //Ф-ция мутатор переменных N, M.

void Move(Point_);//Постусловие: фигура перемещина.
void Scale(int); //Данная ф-ция изменяет размеры фигуры. Целлочисленный
                 //аргумент ф-ции - это размер фигуры в процентах от
                 //настоящего размера.
TRect Paint_();//Возвращает переменную TRect содержащую параметры прямоугольника.
bool Employ(int,int);//Возвращает true если точка попадает в данный прямоугольник.
                     //В противном случае возвращает false.
                     //Координаты точки задаются в качестве аргументов ф-ции.
};

Rectangle_::Rectangle_(){
N.Mutator(0,0);
M.Mutator(0,0);}

Rectangle_::Rectangle_(int x1,int y1,int x2,int y2){
N.Mutator(x1,y1);
M.Mutator(x2,y2);}

Rectangle_::Rectangle_(Point_ n,Point_ m){
N=n;
M=m;}

Rectangle_::Rectangle_(TRect REC){
N.Mutator(REC.left,REC.top);
M.Mutator(REC.right,REC.bottom);}

void Rectangle_::Mutator(int x1,int y1,int x2,int y2){
N.Mutator(x1,y1);
M.Mutator(x2,y2);
}

void Rectangle_::Move(Point_ A2){
M.Mutator(A2.Acsessor_X()+M.Acsessor_X()-N.Acsessor_X(),
          A2.Acsessor_Y()-(N.Acsessor_Y()-M.Acsessor_Y()));
N.Mutator(A2.Acsessor_X(),A2.Acsessor_Y());
}

void Rectangle_::Scale(int percents){
M.Mutator(N.Acsessor_X()+(M.Acsessor_X()-N.Acsessor_X())*percents/100,
          N.Acsessor_Y()-(N.Acsessor_Y()-M.Acsessor_Y())*percents/100);
}

TRect Rectangle_::Paint_(){
TRect Temp;

Temp.left=N.Acsessor_X();
Temp.top=N.Acsessor_Y();
Temp.right=M.Acsessor_X();
Temp.bottom=M.Acsessor_Y();
return Temp;
}

bool Rectangle_::Employ(int x,int y){
bool Temp=false;
      if(((x>=N.Acsessor_X())&&(x<=M.Acsessor_X()))&&((y<=N.Acsessor_Y())&&
        (y>=M.Acsessor_Y())))Temp=true;
      return Temp;
}
#endif
whim вне форума Ответить с цитированием
Старый 09.06.2010, 21:12   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Диаграмму чего? Есть диаграмма прецедентов, классов, последовательностей, компонентов, кооперации, состояний, развертывания, бизнес-диаграммы... Какую именно вам нужно?
MaTBeu вне форума Ответить с цитированием
Старый 09.06.2010, 22:34   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2MaTBeu
если брать умл, к классам подходит только диаграмма классов, явно же.
другое дело, что вряд ли нужна умл диаграмма
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в C++ iggor Помощь студентам 0 15.12.2009 22:17
Классы honest Помощь студентам 5 21.09.2009 21:23
классы elenSV Помощь студентам 0 11.05.2009 10:11
классы elenSV Помощь студентам 0 01.05.2009 19:33