Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 1 / lab_1 / Rectangle
.h// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_RECTANGLE_46F50C350000_INCLUDED
#define _INC_RECTANGLE_46F50C350000_INCLUDED
//////////////////////////////////////////////////////////////////////////
#include "Shape.h"
#include <list>
//////////////////////////////////////////////////////////////////////////
class ostream;
using std::list;
//////////////////////////////////////////////////////////////////////////
//прямоугольник
class Rectangle
: public Shape
{
private:
//указатели на созданные прямоугольники
static list<Rectangle*> _rectangles;
//длина
float _length;
//ширина
float _width;
Rectangle(float l, float w, float x, float y);
public:
//выдает указатель на уже существующий прямоугольник, если он имеет заданные
//параметры
//если такого не существует - создает новый
static Rectangle* create(float length, float width, float x, float y);
virtual ~Rectangle();
//получить длину
const float get__length() const;
//задать длину
void set__length(float value);
//получить ширину
const float get__width() const;
//задать ширину
void set__width(float value);
//вычисляет площадь фигуры
virtual float Area() const;
protected:
//вывести состояние прямоугольника в поток
virtual ostream& speak(ostream& os) const;
};
//////////////////////////////////////////////////////////////////////////
#endif /* _INC_RECTANGLE_46F50C350000_INCLUDED */
Соседние файлы в папке lab_1