
Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 33 / LAB 3 / CELTRNGL
.CPP//File CELTRNGL.cpp
//Naznachenie: Opredelenie funkcij klassa "elementy spiska"
//Author: Pavel Morozov
//Redakcija: 2.0 13.04.07
#ifndef CELTRNGL_cpp
#define CELTRNGL_cpp
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include"cpoint.h"
#include"CELTRNGL.h"
#include"cpoint.cpp"
//--------------------Konstruktor--------------------------
CElement::CElement(CPoint *F0ptr):ID(HistNum+1)
{ float x0=0;float y0=0;
F0ptr-> GetX(x0,y0);
textcolor(9);
HistNum=HistNum+1;
Counter++;
cout<<endl<<endl;
cprintf("Konstruktor CPoint sozdal objekt s ID = ");
cout<<GetID();
cprintf(", HistNum= ");
cout<<GetHistNum();
cprintf(", Counter= ");
cout<<GetCounter()<<endl;
cprintf("x = ");
cout<<x0<<endl;
cprintf("y = ");
cout<<y0<<endl;
textcolor(15);
Fptr=F0ptr;
Next=NULL;
}
CElement::CElement( CElement &E, CElement *Next0 )
//Konstruktor kopirovanija
{
float x0;float y0;
Next=Next0;
cout<<endl;
Fptr=new CPoint(*(E.Fptr));
E.GetFptr()-> GetX(x0,y0);
cprintf("Konstruktor kopirovanija СElement sozdal");
cout<<endl;
cprintf(" kopiju elementa, znachenie kotorogo ravno ");
cout<<"x= "<<x0<<"y= "<<y0<<endl<<endl;
}
//--------------Funkcii interfeisa-----------------------
void CElement::SetFptr( CPoint *F0ptr )
//Ustanovit ukazatel na element
{ Fptr=F0ptr;}
void CElement::SetNext( CElement *E)
//Ustanovit ukazatel na sledujushij element
{ Next=E; }
CPoint *CElement::GetFptr()
{ return Fptr; }
//Poluchit ukazatel na element
CElement *CElement::GetNext()
//Poluchit ukazatel na sledujushij element
{ return Next;}
unsigned int CElement::GetID()
//Poluchit ukazatel na predydushij element
{ return ID;}
unsigned int CElement::GetHistNum()
// Poluchit kolichestvo sozdannyh objektov
{ return HistNum;}
unsigned int CElement::GetCounter()
// Poluchit kolichestvo sushestvujushih objektov
{return Counter;}
//-------------------------Destruktor-------------
CElement::~CElement()
{ float x0,y0;
textcolor(10);
cout<<endl;
cprintf("~CElement razrushaet element klassa s ID...");
Counter--;
cout<<GetID();
cout<<endl;
if (Fptr)
{
Fptr-> GetX(x0,y0);
cout<<endl;
cprintf("Zanchenie elementa ");
cout<<"x= "<<x0<<", y= "<<y0<<endl;
delete Fptr;
cout<<endl;
textcolor(10);
cprintf("Element unichtozen...");
cout<<endl;
cprintf("Nazmite probel...");
cout<<endl;
getch();
textcolor(15);
}
}
#endif
Соседние файлы в папке LAB 3