Aggregazione con vector

di il
2 risposte

Aggregazione con vector

Salve a tutti,

dovrei realizzare l'aggregazione tra due classi : la classe Ditta e la classe Prodotto.
La classe Ditta ha un nome, una partita IVA e per realizzare l'aggregazione di prodotti ho pensato di inserire nella classe Ditta un vector di puntatori a Prodotto in questo modo:
#ifndef _DITTA_H
#define	_DITTA_H

#include "Prodotto.h"
#include <string>
#include <vector>
using namespace std;

class Ditta{
public:
    Ditta();
    Ditta(string, string, const vector<Prodotto*> &);
    ~Ditta();
    string getNome() const;
    string getIVA() const;
    vector<Prodotto* > getProdVenduti() const;
    void setNome(string );
    void setIVA(string );
    void setProdVenduti(vector<Prodotto* >);
    void addProdotto( Prodotto* );
    void removeProdotto(const Prodotto &);
private:
    string nome;
    string partitaIVA;
    vector<Prodotto* > prodottiVenduti;
};
é giusto realizzare l'aggregazione così??
Inoltre, ho implementato i costruttori della classe in questo modo
Ditta::Ditta()
{
    nome = " ";
    partitaIVA = " ";
}

Ditta::Ditta(string a, string b, const vector<Prodotto*> & c)
{
    nome = a;
    partitaIVA = b;
    prodottiVenduti = c;
}
é giusto oppure non ho inizializzato il vettore??

Grazie mille per il vostro aiuto

2 Risposte

  • Re: Aggregazione con vector

    Ditta::Ditta()
    {
    }
    
    Ditta::Ditta(string a, string b, const vector<Prodotto*> & c)
    : nome(a), partitaIVA(b), prodottiVenduti(c)
    {
    }
    Così va meglio. Le stringhe sono già inizializzate dal loro costruttore.

    Attenzione sempre col vettore dei puntatori per i motivi spiegati nell'altro thread.
    Buon prosseguimento.
  • Re: Aggregazione con vector

    Grazie mille!!
Devi accedere o registrarti per scrivere nel forum
2 risposte