Sunteți pe pagina 1din 3

#include <iostream> #include <conio.

h> using namespace std; class Masina { private: char* marca; int motor; char* culoare; int pret; int locuri[5]; public: //constructor fara parametrii Masina(){ this->marca = new char[strlen("Audi")+1]; strcpy (this->marca,"Audi"); this->motor=23; this->culoare= new char[strlen("Rosu")+1]; strcpy (this->culoare,"Rosu"); this->pret=15000; for (int i=0; i<5;i++) this->locuri[i]=0; } //constructor cu parametrii Masina(char *marca, int motor, char *culoare, int pret, int locuri[5]) { this->marca = new char[strlen (marca)+1]; strcpy (this->marca,marca); this->motor = motor; this->culoare = new char[strlen (culoare)+1]; strcpy (this->cloare,culoare); this->pret = pret; for (int i=0;i<5;i++) this->locuri[i] = locuri[i]; } //constructorul de copiere Masina(Masina &temp){ this-> marca = new char[strlen (temp.marca)+1]; strcpy (this->marca,temp.marca); this->motor = temp.motor; this->culoare = new char[strlen (temp.culoare)+1]; strcpy (this->culoare,temp.culoare); this->pret = temp.pret; for (int i=0;i<5;i++) this->locuri[i] = temp.locuri[i]; } //operatorul= // Masina a,b,c; // c=a; b=c'; Masina &operator =(Masina a){

delete [] this->marca; this->marca = new char [strlen (a.marca)+1]; strcpy (this->marca,a.marca); delete [] this->culoare; this->culoare = new char [strlen (a.culoare)+1]; strcpy (this->culoare,a.culoare); this-> motor = a.motor ; this-> pret = a.pret ; for (int i=0;i<5;i++) this->locuri[i]=a.locuri[i]; } //Deconstrutor ~Masina(){ cout<<"S-a apelat deconstructorul"<<endl; delete[] marca; delete[] culoare; } //setteri void set_marca(char* nume){ delete[] marca; marca= new char[strlen(nume)+1]; strcpy(marca,nume); } void set_motor(int val){ motor=val; } void set_culoare(char* cul){ delete[] culoare; culoare=new char [strlen (cul)+1]; strcpy(culoare,cul); } void set_pret (int val){ pret=val; } //getteri char* getmarca(){ return this->marca; } int getmotor(){ return motor; } char* getculoare(){ return this->culoare; } int getpret(){ return pret; } }; int main() { //apelare construcor fara parametrii

Masina m; //apelare constructor cu parametrii int loc[5]; for (int i=0;i<5;i++) loc[i]=i; Masina m2("bmw M3",23,"alb",2432,loc); //apelare constructor de copiere Masina golf(m2); //apelare setteri m.set_marca("BMW - M3"); m.set_motor(3000); m.set_culoare("Rosu"); m.set_pret(15000); //apelare getteri cout<<m.getmarca()<<endl<<m.getmotor()<<endl<<m.getculoare()<<endl<<m.ge tpret(); _getch(); return 0; }

S-ar putea să vă placă și