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