Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 33 / LAB 3 / CELPOLY
.CPP//File CElPoly.cpp
//Naznachenie: Proekt klassa "Nabor mnogougolnikov"
//Author: Pavel Morozov
//Redakcija: 2.0 13.04.07
#ifndef CElPoly_cpp
#define CElPoly_cpp
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include"cpolygon.cpp"
#include"cpolygon.h"
#include"celpoly.h"
//--------------------Konstruktor--------------------------
CElPoly::CElPoly(CPolygon *F0ptrPoly):ID(HistNum+1)
{
textcolor(9);
HistNum=HistNum+1;
Counter++;
cprintf("Konstruktor CElPoly sozdaet ekzempliar klassa s ID= ");
cout<<GetID();
cprintf(", HistNum= ");
cout<<GetHistNum();
cprintf(", Counter= ");
cout<<GetCounter()<<endl;
textcolor(15);
FptrPoly=F0ptrPoly;
Next=NULL;
textcolor(15);
}
CElPoly::CElPoly( CElPoly &EPoly, CElPoly *Next0 )
//Konstruktor kopirovanija
{
float x0;float y0;
Next=Next0;
cout<<endl;
FptrPoly=new CPolygon(*(EPoly.FptrPoly));
cprintf("Konstruktor kopirovanija СElPoly sozdal kopiju elementa");
cout<<endl;
}
//--------------Funkcii interfeisa-----------------------
void CElPoly::SetFptrPoly( CPolygon *F0ptrPoly )
//Ustanovit ukazatel na element
{ FptrPoly=F0ptrPoly;}
void CElPoly::SetNextPoly( CElPoly *EPoly)
//Ustanovit ukazatel na sledujushij element
{ Next=EPoly; }
CPolygon *CElPoly::GetFptrPoly()
{ return FptrPoly; }
//Poluchit ukazatel na element
CElPoly *CElPoly::GetNextPoly()
//Poluchit ukazatel na sledujushij element
{ return Next;}
unsigned int CElPoly::GetID()
//Poluchit ukazatel na predydushij element
{ return ID;}
unsigned int CElPoly::GetHistNum()
// Poluchit kolichestvo sozdannyh objektov
{ return HistNum;}
unsigned int CElPoly::GetCounter()
// Poluchit kolichestvo sushestvujushih objektov
{return Counter;}
//-------------------------Destruktor-------------
CElPoly::~CElPoly()
{ float x0,y0;
textcolor(10);
cout<<endl;
cprintf("~CElPoly razrushaet element klassa s ID...");
Counter--;
cout<<GetID();
cout<<endl;
if (FptrPoly)
{
// Polyptr-> GetX(x0,y0);
cout<<endl;
cprintf("Zanchenie elementa ");
// cout<<"x= "<<x0<<", y= "<<y0<<endl;
delete FptrPoly;
cout<<endl;
textcolor(10);
cprintf("Element unichtozen...");
cout<<endl;
cprintf("Nazmite probel...");
cout<<endl;
getch();
textcolor(15);
}
}
#endif
Соседние файлы в папке LAB 3