Добавил:
          
          
        
        
    
            Studfiles2
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:Лабораторная работа 1 / lab_1 / Shape
.h// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_SHAPE_46F50BDC00BB_INCLUDED
#define _INC_SHAPE_46F50BDC00BB_INCLUDED
//////////////////////////////////////////////////////////////////////////
class ostream;
//////////////////////////////////////////////////////////////////////////
//обобщенная фигура
class Shape 
{
private:
    //счетчик объектов
    
    static int _counter;
    //идентификатор объекта
    
    int _id;
protected:
    //абсцисса фигуры. все фигуры по умолчанию появляются в начале координат
    
    float _x;
    
    //ордината фигуры. все фигуры по умолчанию появляются в начале координат
    
	float _y;
    
    Shape(float x, float y);
    
    //вывести состояние фигуры в поток
    
    virtual ostream& speak(ostream& os) const;
public:
    
    virtual ~Shape();
    //получить ординату фигуры
    
    const float get__y() const;
    
    //задать ординату фигуры
    
    void set__y(float value);
    
    //получить абсциссу фигуры
    
    const float get__x() const;
    
    //задать абциссу фигуры
    
	void set__x(float value);
    //оператор вывода в поток
    
	friend ostream& operator<<(ostream& o, const Shape& rhs);
    
    virtual bool operator==(const Shape& rhs) const;
	//перенести фигуру в заданную точку
	
	void moveToPoint(float x_pos, float y_pos);
    //вычисляет площадь фигуры
    
    virtual float Area() const = 0;
};
//////////////////////////////////////////////////////////////////////////
#endif /* _INC_SHAPE_46F50BDC00BB_INCLUDED */
 
          Соседние файлы в папке lab_1
          
      
    
    
    
          