Реализации на С++
Object pool
Общая реализация на языке С++
template <typename T>
concept EmployeePoolObject = requires(T t)
{
t.clockIn();
};
# include <iostream>
# include <memory>
# include <iterator>
# include <vector>
using namespace std;
int main()
{
shared_ptr<EmployeePool<Employee>> pool = EmployeePool<Employee>::instance();
vector<shared_ptr<Employee>> vec(4);
for (auto& elem : vec)
elem = pool->hireEmployee();
pool->fireEmployee(vec[1]);
cout << *pool << endl;
shared_ptr<Employee> ptr = pool->hireEmployee();
vec[1] = pool->hireEmployee();
cout << *pool << endl;
}
Last updated
Was this helpful?