Aplicație pentru gestiunea trenurilor

Previzualizare referat:

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.

Observații:

Proiect pentru POO- contine clase, constructori, mosteniri, functii virtuale, supraincarcari si template

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Aplicatie pentru Gestiunea Trenurilor.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
9 imagini
Nr cuvinte:
1 373 cuvinte
Nr caractere:
9 878 caractere
Marime:
12.27KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Referat
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Profesorului:
Ionita Cristian
Sus!