Я пытаюсь распечатать более одной записи из карты, содержащей строку и класс указателя.Это продолжение этого поста: как разыменовать указатель карты указателей на объекты в c ++ .1. У меня возникают проблемы при переносе класса объекта обратно в вектор.2. Я хотел бы напечатать более одной записи с карты.
Я пытался использовать векторы, но не уверен, так ли это.Я получил некоторые ошибки от этого.Я знаю, что в Java вы можете использовать список массивов, поэтому пытаетесь обновить мой c ++.Любые хорошие примеры, которые у вас есть, следуют приведенному выше решению для ссылок.
class Employee
{
public:
int employeeID;
Employee()
{
employeeID = 123;
}
};
int main(int argc, char* argv[]) {
std::map<std::string, Employee *> *_employeePayroll;
std::map<std::string, Employee *> _employeeID;
std::map<std::string, Employee *>::const_iterator itEmployeeID;
_employeePayroll = &_employeeID;
(*_employeePayroll)["Karl"] = new Employee;
(*_employeePayroll)["George"] = new Employee;
vector<std::string> v1;
v1.push_back(itEmployeeID->first);
// Here I am having issues on pushing back an object class into a
// vector. maybe as follows:
v1..push_back(itEmployeeID->second);
v1.shrink_to_fit();
for ( auto it = v1.begin(); it != v1.end(): it++ )
{
std::cout << *it;
std::cout << std::endl;
}
return 0;
}
Я хотел бы распечатать более одной записи из карты, содержащей строку и класс указателя.