Классы в Vc++
{
public:
/* конструктор по умолчанию */
Rect()
{
m_left=5;m_right=5;m_top=5;m_bottom=5;
}
/* конструктор с инициализацией */
Rect(int x,int y,int z,int l)
{
m_left=x;m_right=y;m_top=z;m_bottom=l;
}
/* метод реализующий изменение размеров прямоугольника */
void InflateRect(int x, int y, int z, int l)
{
m_left+=x;m_right+=y;m_top+=z;m_bottom+=l;
}
/*метод для второго задания*/
void InflateRect(int x,int y)
{
m_left+=x;m_right+=x;m_top+=y;m_bottom+=y;
}
/* конструктор копирования */
Rect(const Rect& refRect)
{
m_left=refRect.m_left;m_right=refRect.m_right;
m_top=refRect.m_top;m_bottom=refRect.m_bottom;
}
/*метод SetAll для третьего задания*/
void SetAll(int,int,int,int);
void SetLeft(int);
void SetRight(int);
void SetTop(int);
void SetBottom(int l);
/*метод GetAll*/
int GetLeft();
int GetRight();
int GetTop();
int GetBottom();
private:
/* данные члены */
int m_left, m_right, m_top, m_bottom;
};
Rect BoundingRect(Rect, Rect);
так же даны два объекта r1 и r2 класса Rect,нужно используя функцию BoundingRect написать прямоугольник в который вписаны r1 и r2
Rect r1(1,2,3,4), r2(5,6,7,8),r3;
r3= BoundingRect(r1, r2);
причем объекты принимаются по значению.Спасибо!
[COLOR=darkblue]friend Rect BoundingRect(Rect r1, Rect r2);[/COLOR]
и
{
Rect r;
r.m_left = (r1.m_left <= r2.m_left ? r1.m_left : r2.m_left);
r.m_top = (r1.m_top <= r2.m_top ? r1.m_top : r2.m_top);
r.m_right = (r1.m_right >= r2.m_right ? r1.m_right : r2.m_right);
r.m_bottom = (r1.m_bottom >= r2.m_bottom ? r1.m_bottom : r2.m_bottom);
return r;
}
я уже разобрался,правда другим методом,но спасибо,кстати не знаешь почему сайт не работал?
Наверно mike что-то нахимичил. :)
Но если всерьез, то не знаю. Пару месяцев тому сайт другого форума лежал больше недели.
P.S. В том методе параметры лучше бы передать по ссылке. Всего навсего нужно изменить заголовок ф-ии на BoundingRect(Rect &r1, Rect &r2);
слушай это вторая часть задания не подскажешь как это сделать?
Уже сказал. Всего навсего нужно поменять заголовок.
Уже сказал. Всего навсего нужно поменять заголовок.
Тоесть просто поменять заголовок функции а все остальное точно так же?Через friend?И кстати вопрос,читал что это не очень хорошая практика,использовать ссылки в классе,т.к. они модифицируют закрытые члены?
Тоесть просто поменять заголовок функции а все остальное точно так же?Через friend?И кстати вопрос,читал что это не очень хорошая практика,использовать ссылки в классе,т.к. они модифицируют закрытые члены?
Да, только поменять.
На счет " не очень хорошая... ". Я знаю довольно много языков программирования, но столько страшилок я вместе взятых не слышал, как в одном С++. Хотя раньше только на указателей бочку катили. Что теперь и ссылки попали в немилость?
А как на счет переменных? Сними все класс? :D
[QUOTE]Originally posted by BroKeR
я уже разобрался,правда другим методом,но спасибо,кстати не знаешь почему сайт не работал?
Originally posted by _nоrth_
Наверно mike что-то нахимичил. :)
Но если всерьез, то не знаю.[/QUOTE]
переезд сервера на новую площадку со сменой айпи (С)