Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <map>
- struct Employee{
- std::string Name;
- unsigned int Age;
- std::vector<double> Wages;
- Employee(std::string name = "Aaa", unsigned int age = 13, std::vector<double> wages = {0}) : Name(name), Age(age), Wages(wages) {};
- };
- class EmployeeRegister{
- std::map<std::string, Employee*> Employees;
- void CreateNewEmployee(std::string& Name, unsigned int Age, std::vector<double>& Wages);
- void freeAll();
- Employee* findEmployee(std::string& name);
- Employee** exportAllEmployees();
- };
- void EmployeeRegister::CreateNewEmployee(std::string& Name, unsigned int Age, std::vector<double>& Wages){
- Employee* var = new Employee(Name, Age, Wages);
- Employees[Name] = var;
- };
- void EmployeeRegister::freeAll(){
- for (std::map<std::string, Employee*>::iterator it = Employees.begin(); it != Employees.end(); ++it){
- delete it->second;
- Employees.erase(it);
- }
- }
- Employee* EmployeeRegister::findEmployee(std::string& name){
- std::map<std::string, Employee*>::iterator it = Employees.find(name);
- if (it != Employees.end()){
- return it->second;
- }
- else return nullptr;
- }
- Employee** EmployeeRegister::exportAllEmployees(){
- Employee** var = new Employee*[Employees.size()];
- int i = 0;
- for (std::map<std::string, Employee*>::iterator it = Employees.begin(); it != Employees.end(); ++it){
- var[i] = it->second;
- ++i;
- }
- }
- /**/
- int main() {
- int* var = new int[3]; //dynamic array creation
- var[0] = 0;
- var[1] = 5;
- var++;
- std::cout << *var;
- Employee var2 = Employee("age");
- Employee var3 = Employee();
- Employee vyr = Employee(name="Abs");
- //std::cout << "Hello, World!" << std::endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement