Я видел много вопросов и ответов об этой проблеме, но все же я не могу решить свою проблему. Как инициализировать статический вектор? Я также прошу вас проверить, что я правильно использую конструкцию по умолчанию. Я не хочу проверить, работает ли он, потому что я знаю, что это так. Мне просто интересно, это элегантная реализация?Статический вектор как контейнер объектов класса
class Employee
{
private:
static std::vector<Employee> employee;
std::string name;
int age;
Employee::Employee()
{
std::string localName;
int localAge;
std::cout << "So... do you want to hire a new employee? Let's look at CVs " << std::endl;
localName = "Marek"; //GenerateName();
localAge = 21; //these function is not ready yet. it'd be just a rand()
std::cout << "I've got one. What do u think about " << localName << " age " << localAge << "?" << std::endl;
int decision;
do
{
std::cout << "Do you want hire him [1] or not [2] ? " << std::endl;
std::cin >> decision;
switch (decision)
{
case 1:
name = localName;
age = localAge;
decision = 0;
break;
case 2:
employees.erase(employees.end());
decision = 0;
break;
default:
std::cout << "Incorrect option. Try again" << std::endl;
}
} while (decision != 0);
}
public:
static void Employ()
{
employees.push_back(Employee::Employee());
}
};
int main()
{
Employee::Employ();
system("pause");
}
_ «Я видел много вопросов и ответов по этому вопросу, но все же я не могу решить свою проблему». Не могли бы вы сначала рассказать нам, что обо всех этих ответах было бесполезно? Кажется бессмысленным повторять общие ответы еще раз, если есть что-то конкретное, которое отличается для вашего варианта использования. Для чего это стоит, я не понимаю, что это будет. Кроме того, я действительно не вижу _why_ вы используете здесь элемент 'static'. Почему бы не создать класс 'EmployeesCollection', который вы можете создать в' main'? –
Прошу прощения? Я не понимаю, что вы подразумеваете под классом «EmployeesCollection». Я попытался создать «static void InstantiateVector();», но я не понял его полностью. Я также нашел кое-что о библиотеке ** boost **, но я решил решить проблему с помощью инструментов стандартов. – mathsicist
. Я спрашиваю вас, почему вы думаете, что вам нужен член 'static', и если вы действительно это делаете, почему все многие ответы, которые вы уже прочитали, не помогли вам. Не нужно «просить прощения», спасибо. –