Extras din referat
// Aplicatie pentru gestiunea trenurilor
// Mostenire: Se defineste clasa de baza Vagon. Clasele VagonMarfa si VagonPersoane mostenesc clasa Vagon. Clasele VagonClasaI, VagonCuseta sunt derivate din clasele anterioare
// Supraincarcare operatori- Cu ajutorul clasei Tren- am supraincarcat operatori =, >> si <<
// Functiile virtuale- apartin vagoanelor- descriere
// Clasa Template - formarea de Garnituri prin constructor cu parametru si supraincarcare operatori +, == si !=
#include <conio.h>
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
class Vagon
{
private:
int serie;
char *denumire;
int nrRoti;
public:
//constructor implicit
Vagon()
{
this->serie = 0;
this->denumire = NULL;
this->nrRoti=8;
}
//constructor cu trei parametri
Vagon(int s, char *den, int nrr)
{
this->serie = s;
this->denumire = new char[strlen(den)+1];
strcpy(this->denumire,den);
this->nrRoti=nrr;
}
//constructor de copiere Vagon
Vagon(Vagon& v)
{
this->serie=v.serie;
this->denumire=new char[strlen(v.denumire)+1];
strcpy(this->denumire,v.denumire);
this->nrRoti=v.nrRoti;
}
//operator = Vagon
Vagon& operator=(Vagon &v)
{
this->serie=v.serie;
delete [] this->denumire;
this->denumire=new char[strlen(v.denumire)+1];
strcpy(this->denumire,v.denumire);
this->nrRoti=v.nrRoti;
return *this;
}
//destructor
~Vagon()
{
delete [] this->denumire;
}
//metode de acces get si set
int getSerie()
{
return this->serie;
}
char* getDenumire()
{
return this->denumire;
}
int getNrRoti()
{
return this->nrRoti;
}
void setSerie(int a)
{
this->serie=a;
}
void setDenumire(char *den)
{
this->denumire=den;
}
void setNrRoti(int n)
{
this->nrRoti=n;
}
//functie virtuala
virtual void transporta()
{
cout<<"Vagonul - transporta marfa sau persoane."<<endl;
}
};
class VagonMarfa : virtual public Vagon
{
private:
int tonaj;
char* transport;
public:
VagonMarfa()
{
//constructor implicit
this->tonaj= 22;
this->transport=NULL;
}
VagonMarfa(int t, char* tr)
{
//constructor cu 2 parametri
this->tonaj=t;
this->transport = new char[strlen(tr)+1];
strcpy(this->transport,tr);
}
VagonMarfa(int t, char* tr, int s, char *dn, int nrr) : Vagon(s, dn, nrr)
{
//constructor cu 4 parametri.
Preview document
Conținut arhivă zip
- Aplicatie pentru Gestiunea Trenurilor.doc