Advertisement
Alx09

Untitled

Oct 15th, 2020
2,420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class Persoana {
  5.     string *nume = new string;
  6.     string *prenume = new string;
  7.     unsigned int varsta;
  8. public:
  9.  
  10.     //constructor vid folosit pentru declararea vectorului
  11.     Persoana() {}
  12.     //constructor pentru initializarea variabilelor
  13.     Persoana(string *nume, string *prenume, unsigned int varsta)
  14.     {  
  15.         *this->nume = *nume;
  16.         *this->prenume = *prenume;
  17.         this->varsta = varsta;
  18.     }
  19.     ~Persoana() { cout << nume->c_str() << ' ' << prenume->c_str() << " a fost sters din baza de date\n";
  20.     delete nume, prenume;
  21.     }
  22.     //functie de afisare
  23.     void afisare()
  24.     {
  25.         cout << "-----------------------------\n";
  26.         cout << "Numele: " << nume->c_str() << "\n";
  27.         cout << "Prenume: " << prenume->c_str() << "\n";
  28.         cout << "Varsta: " << varsta << "\n";
  29.     }
  30.     //returnare nume pentru functia de cautare
  31.     string returnareNume()
  32.     {
  33.         return *nume;
  34.     }
  35.     //returnare prenume pentru functia de stergere
  36.     string returnarePrenume()
  37.     {
  38.         return *prenume;
  39.     }
  40. };
  41.  
  42. class Angajat : public Persoana {
  43.     unsigned int salar;
  44.     string *departament = new string;
  45. public:
  46.     //constructor vid folosit pentru declararea vectorului
  47.     Angajat() {}
  48.     //constructor pentru initializarea variabilelor
  49.     Angajat(string *nume, string *prenume, int varsta, string *departament, unsigned int salar) : Persoana(nume, prenume, varsta)
  50.     {
  51.         *this->departament = *departament;
  52.         this->salar = salar;
  53.     }
  54.     ~Angajat() { delete departament; }
  55.     //functia de afisare
  56.     void afisare()
  57.     {
  58.         Persoana::afisare();
  59.         cout << "Departament: " << departament->c_str() << "\n";
  60.         cout << "Salar: " << salar << " ron";
  61.        
  62.     }
  63. };
  64.  
  65. class Profesor : public Angajat {
  66. private:
  67.     string *numefacultate= new string;
  68.     unsigned short nrStud
  69. ; public:
  70.     Profesor() {}
  71.     Profesor(string nume, string prenume, unsigned int varsta, string departament, unsigned int salar, string numefacultate, unsigned short nrStud) : Angajat(&nume, &prenume, varsta, &departament, salar) {
  72.         *this->numefacultate = numefacultate;
  73.         this->nrStud = nrStud;
  74.     }
  75.     void afisare() {
  76.         Angajat::afisare();
  77.         cout << "\nProfesor la facultatea " << numefacultate->c_str();
  78.         cout << "\nNumar de studenti: " << nrStud << "\n\n";
  79.     }
  80. };
  81. int main()
  82. {
  83.  
  84.     Profesor *popescu =  new Profesor("popescu", "ion ", 29,"economic", 2000, "upt", 287);
  85.     popescu->afisare();
  86.     delete popescu;
  87.     system("pause");
  88.     return 0;
  89. }
  90.  
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement