Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 24 / lab22 / Shape
.h//#ifndef _SHAPE_H
//#define _SHAPE_H
#pragma once
#define M_PI 3.14
#include<iostream>
//using namespace std;
class Shape
{
public:
virtual int getNumType()=0;
virtual void display(std::ostream& os) = 0;
virtual int GetX() const=0;
virtual int GetY() const=0;
virtual void SetX(int _X)=0;
virtual void SetY(int _Y)=0;
virtual void Move(int dx,int dy)=0;
virtual void Draw(CDC* pDC, Shape* figure=0, bool doLine=false)=0;
virtual CRect GetBoundRect()=0;
virtual void writeAr(CArchive& ar)=0;
virtual void readAr(CArchive& ar)=0;
virtual CString getName()=0;
virtual ~Shape(){}
private:
friend std::ostream& operator<<(std::ostream& os, Shape* ob)
{
ob->display(os);
return os;
}
friend
CArchive& AFXAPI operator<<(CArchive& ar,Shape* ob)
{
ob->writeAr(ar);
return ar;
}
friend
CArchive& AFXAPI operator>>(CArchive& ar,Shape* ob)
{
ob->readAr(ar);
return ar;
}
};
//#endif
Соседние файлы в папке lab22