我已经看到关于此问题的许多问题和答案,但仍然无法解决我的问题。我应该如何初始化一个静态向量?我也要求你检查我正确使用默认构造。我不是说检查它是否工作,因为我知道它确实有效。我只是想知道这是否是一个优雅的实现?作为类对象容器的静态向量
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_您在这里使用“静态”成员。为什么不能在'main'中实例化一个不错的'EmployeesCollection'类? –
我请你原谅?我不明白'EmployeesCollection'类是什么意思。我试过创建'静态无效InstantiateVector();'但我完全不理解它。我也发现了一些** boost **库,但我已经决定使用标准工具解决问题 – mathsicist
我在问你为什么认为你需要一个'static'成员,如果你真的这么做,为什么所有你已经阅读的许多答案并没有帮助你。无需“恳求我的赦免”,谢谢。 –