Скачиваний:
12
Добавлен:
01.05.2014
Размер:
2.62 Кб
Скачать
//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;

	     HistNum=HistNum+1;
	     Counter++;
	     F0ptr-> GetX(x0,y0);
	     cout<<endl<<"Konstruktor CElement sozdaet ekzempliar klassa s ID="<<GetID();
	     cout<<endl<<"HistNum= "<<GetHistNum()<<", Counter= "<<GetCounter()<<endl;
	     cprintf("Znachenie kotorogo ravno ");
	     cout<<"x=  "<<x0<<", y= "<<y0<<endl;
	     Fptr=F0ptr;
	     Next=NULL;
	     F0ptr->GetID();


	    }

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;
	   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;
	     cprintf("Element unichtozen...");
	     cout<<endl;
	     cprintf("Nazmite probel...");
	     cout<<endl;
	     getch();

	   }


	 } 


#endif
Соседние файлы в папке Лабораторная работа 23