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