myRect.h 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "myShape.h"
  3. class Rect:public Shape
  4. {
  5. int m_left, m_right, m_top, m_bottom;
  6. public:
  7. void WhereAmI();
  8. void WhereAmIVirtual();
  9. Rect(int left = 0, int right = 0, int top = 0, int bottom = 0, colour col = BLACK, bool contour = true, double transparency = 1); //конструктор
  10. Rect(const Rect&);//конструктор копирования
  11. void Standarting();//метод "нормализации" прямоугольника
  12. void Inflate(int);
  13. void InflateRect(int left, int right, int top, int bottom);//метод который увеличивает размеры прямоугольника на заданные приращения
  14. void InflateRect(int left = 1, int right = 1);//метод который увеличивает размеры прямоугольника на заданные приращения
  15. void SetAll(int left, int right, int top, int bottom);//метод который присваивает переменным класса передаваемые значения
  16. //чтобы сделать так, как я хотела нужно делать 4 отдельных метода Getleft,Getright,Gettop,Getbottom
  17. void GetAll(int& left, int& right, int& top, int& bottom) const;//метод который "достает" значения private-переменных класса.
  18. Rect BoundingRect(const Rect&);//метод, который принимает объекта класса Rect по ссылке и возвращает
  19. //объект класса Rect, который является прямоугольником, в который вписаны текущий и принимаемый прямоугольники.
  20. ~Rect(); //деструктор
  21. };
  22. //принимает два объекта класса Rect по значению и возвращает объект класса Rect, который является прямоугольником,
  23. //в который вписаны заданные прямоугольники.
  24. Rect BoundingRect(Rect, Rect);
  25. //принимает два объекта класса Rect по ссылке и возвращает объект класса Rect, который является прямоугольником,
  26. //в который вписаны заданные прямоугольники.
  27. Rect BoundingRect2(const Rect&, const Rect&);