I have issue with this task. I dont know how to make it correctly

Make Invoice class with:
• List of purchased goods - associative array (map) with Stock key object and its price value
• methods for adding and removing goods

The code i have
Code:
#include"Stock.h"
#include <string>
#include<map>


class Invoice 
{
    int numberInvoice;
    int dateIssue;
    std::map<Stock, double> goods;
public:
    Invoice();
    Invoice(int _numberInvoice, int _dateIssue, std::map<Stock, double> _goods);
    
    // get,set ();
    int getNumberInvoice() const;
    int getDateIssue() const;
    std::map<Stock, double> getGoods() const;


    void setNumberInvoice(int _numbInvoice);
    void setDateIssue(int _dIssue);
    void setGoods(std::map<Stock, double> _goods);


    
    void addGood(Stock s, int num);
    std::map<Stock, double>::iterator it = goods.begin();
    void display()const;
};
Code:
#include "Invoice.h"
Invoice::Invoice(int _numberInvoice, int _dateIssue, std::map<Stock, double> _goods)
{
    numberInvoice = _numberInvoice;
    dateIssue = _dateIssue;
    goods = _goods;
}




int Invoice::getNumberInvoice() const
{
    return numberInvoice;
}


int Invoice::getDateIssue() const
{
    return dateIssue;
}


std::map<Stock, double> Invoice::getGoods() const
{
    return goods;
}


void Invoice::setNumberInvoice(int _numbInvoice)
{
    numberInvoice = _numbInvoice;
}


void Invoice::setDateIssue(int _dIssue)
{
    dateIssue = _dIssue;
}


void Invoice::setGoods(std::map<Stock, double> _goods)
{
     goods = _goods;
}




void Invoice::addGood(Stock s, int num)
{
    goods[s] += num;
    
}


void Invoice::display() const
{
    std::cout << "\nInvoice " << numberInvoice << '\n';
    std::cout << "Date of issue " << dateIssue << '\n';
    std::cout << "Goods:\n";
    std::cout << "Code\t" << "Name\t" << "vpu\t" << "Num\t" << "Value\n";

}