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