Professional Documents
Culture Documents
Portofoliu
Portofoliu
#include<iostream>
using namespace std;
// compunere
class Portofoliu {
private:
float* sumeAsigurari;
int nrAsigurari;
public:
Portofoliu() {
this->sumeAsigurari = NULL;
this->nrAsigurari = 0;
}
Portofoliu(float* p_sumeAsigurari, int p_nrAsigurari) {
this->sumeAsigurari = new float[p_nrAsigurari];
for (int i = 0; i < p_nrAsigurari; i++) {
this->sumeAsigurari[i] = p_sumeAsigurari[i];
}
this->nrAsigurari = p_nrAsigurari;
Portofoliu(Portofoliu& p) {
}
this->nrAsigurari = p.nrAsigurari;
Portofoliu& operator=(Portofoliu& p) {
delete[] this->sumeAsigurari;
this->sumeAsigurari = new float[p.nrAsigurari];
for (int i = 0; i < p.nrAsigurari; i++) {
this->sumeAsigurari[i] = p.sumeAsigurari[i];
}
this->nrAsigurari = p.nrAsigurari;
return *this;
~Portofoliu() {
if (this->sumeAsigurari != NULL) {
delete[]this->sumeAsigurari;
}
float medie() {
float suma = 0;
for (int i = 0; i < nrAsigurari; i++) {
suma += sumeAsigurari[i];
}
return suma / nrAsigurari;
};
class Broker {
private:
char* nume;
float suma;
string tipAsigurare;
int durata;
static string firma;
public:
Portofoliu portofoliu; // compunere de 2 clase, relatie de HAS A
Broker() {
this->nume = new char[strlen("na") + 1 ];
strcpy_s(this->nume, strlen("na") + 1, "na");
this->suma = 0;
this->tipAsigurare = "0";
this->durata = 0;
}
Broker(Broker& b) {
Broker& operator=(Broker& b) {
if (this->nume != NULL) {
delete[]this->nume;
}
~Broker() {
if (this->nume != NULL) {
delete[]this->nume;
}
operator double() {
return this->suma;
}
Portofoliu getPortofoliu() {
return this->portofoliu;
}
friend ostream& operator<<(ostream& out, Broker& sursa);
};
//c/*har* nume;
//float suma;
//string tipAsigurare;
//int durata;
//static string firma;*/
int main() {
Broker b1;
Portofoliu p1(new float[] {2, 3}, 2);