Professional Documents
Culture Documents
CPP
CPP
#include <iostream>
#include <vector>
#include <string>
// Clasa de baza
class Angajat {
protected:
string nume;
string adresa;
string oras;
public:
Angajat(string nume, string adresa, string oras)
: nume(nume), adresa(adresa), oras(oras) {}
// Clasa derivata 1
class AngajatPermanent : public Angajat {
private:
double salariu_lunar;
public:
AngajatPermanent(string nume, string adresa, string oras, double salariu_lunar)
: Angajat(nume, adresa, oras), salariu_lunar(salariu_lunar) {}
// Clasa derivata 2
class Contractor : public Angajat {
private:
int nr_ore_lucrate;
float tarif_orar;
public:
Contractor(string nume, string adresa, string oras, int nr_ore_lucrate, float
tarif_orar)
: Angajat(nume, adresa, oras), nr_ore_lucrate(nr_ore_lucrate),
tarif_orar(tarif_orar) {}
int main() {
// Creare vector de obiecte Angajat
vector<Angajat*> angajati;
Metoda II
#include <iostream>
#include <vector>
#include <string>
class Angajat {
public:
string nume;
string adresa;
string oras;
};
int main() {
vector<Angajat*> angajati;
// Adaugam angajati in vector
AngajatPermanent *ap1 = new AngajatPermanent();
ap1->nume = "Alexandru";
ap1->adresa = "Strada X, nr. 10";
ap1->oras = "Bucuresti";
ap1->salariu_lunar = 3000;
angajati.push_back(ap1);
cout << "Angajatii ale caror nume incep cu " << grup_litere << " sunt:" <<
endl;
for (auto it = angajati.begin(); it != angajati.end(); it++) {
if ((*it)->nume.find(grup_litere) == 0) {
cout << (*it)->nume << endl;
}
}
return 0;
}
#include <iostream>
#include <list>
#include <string>
class Angajat {
public:
string nume;
string adresa;
string oras;
};
int main() {
list<AngajatPermanent*> angajati_permanenti;