Salve tutti!
All'università sto sudiando il C++ e per esercitazione stavo creando una specie di replica di Pokemon.
Nella creazioen dell'inventario mi sono imbattuto in un problema...

codice HTML:
class Inventory {
public:
    Inventory(int size);

    void setInventoryPokeball(int quantity,int position, Pokeball* pokeballP);

    int size;
    struct inventoryPokeball{
        int quantity;
        Pokeball* pokeballP;
    };
    inventoryPokeball *inventoryPokeballNew;

};
codice HTML:
Inventory::Inventory(int size) : size(size) {
    Inventory::inventoryPokeballNew = new inventoryPokeball[size];
}

void Inventory::setInventoryPokeball(int quantity,int position, Pokeball *pokeballP) {
    Inventory::inventoryPokeballNew[position].pokeballP = pokeballP;
    Inventory::inventoryPokeballNew[position].quantity = quantity;
}
In pratica se creo un nuovo inventario e ci aggiungo più di un elemento, dentro l'inventario risulta presente solamente l'ultimo elemento inserito. Sinceramente non capisco come mai visto che nel costruttore ho fatto l'allocazione...
Grazie in anticipo a tutti!!