1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | #include <iostream> #include <memory> #include <string> #include <vector> #include <algorithm> using namespace std; class Employee { protected: int ID; string Name; string Role; public: Employee(int empID, string empName, string empRole) { ID=empID; Name=empName; Role=empRole; } virtual void showDetails()=0; virtual void addWorker(shared_ptr<Employee> newWorker)=0; virtual void deleteWorker(shared_ptr<Employee> employee)=0; virtual ~Employee(){} int getID(){return ID;} }; class Worker : public Employee { public: Worker(int empID, string empName, string empRole) : Employee(empID, empName, empRole) {} void showDetails() { cout<<Name<<" ("<<ID<<") "<<Role<<endl; } void addWorker(shared_ptr<Employee> newWorker){}; void deleteWorker(shared_ptr<Employee> employee){}; }; class Supervisor : public Employee { private: vector<shared_ptr<Employee>> myTeam; public: Supervisor(int empID, string empName, string empRole) : Employee(empID, empName, empRole) {} void addWorker(shared_ptr<Employee> newWorker) { myTeam.push_back(newWorker); } void deleteWorker(shared_ptr<Employee> employee) { int pos=0; for (auto temp : myTeam) { if (temp->getID()!=employee->getID()) ++pos; else { myTeam.erase(myTeam.begin()+pos); break; } } } void showDetails() { cout<<Name<<" ("<<ID<<") "<<Role<<" ---->"<<endl; for (auto worker : myTeam) { worker->showDetails(); } cout<<endl; } }; int main() { shared_ptr<Employee> Tushar(new Worker(376653,"Tushar Shah","Team mate")); shared_ptr<Employee> Ranjeet(new Worker(469725,"Ranjeet Aglawe","Team mate")); shared_ptr<Employee> Kiran(new Supervisor(137581,"Kiran Asher","Manager")); shared_ptr<Employee> Namita(new Supervisor(122110,"Namita Gawde","Manager")); shared_ptr<Employee> Rumman(new Supervisor(122022,"Rumman Sayed","Manager")); shared_ptr<Employee> Rajendra(new Supervisor(111109,"Rajendra Redkar","Manager")); shared_ptr<Employee> Sameer(new Supervisor(106213,"Sameer Rajadhyax","Group Lead")); Kiran->addWorker(Tushar); Kiran->addWorker(Ranjeet); Sameer->addWorker(Kiran); Sameer->addWorker(Namita); Sameer->addWorker(Rumman); Sameer->addWorker(Rajendra); Sameer->showDetails(); Sameer->deleteWorker(Rumman); Sameer->showDetails(); return 0; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEVtcGxveWVlCnsKICAgIHByb3RlY3RlZDoKICAgIGludCBJRDsKICAgIHN0cmluZyBOYW1lOwogICAgc3RyaW5nIFJvbGU7CgogICAgcHVibGljOgogICAgRW1wbG95ZWUoaW50IGVtcElELCBzdHJpbmcgZW1wTmFtZSwgc3RyaW5nIGVtcFJvbGUpCiAgICB7CiAgICAgICAgSUQ9ZW1wSUQ7CiAgICAgICAgTmFtZT1lbXBOYW1lOwogICAgICAgIFJvbGU9ZW1wUm9sZTsKICAgIH0KICAgIHZpcnR1YWwgdm9pZCBzaG93RGV0YWlscygpPTA7CiAgICB2aXJ0dWFsIHZvaWQgYWRkV29ya2VyKHNoYXJlZF9wdHI8RW1wbG95ZWU+IG5ld1dvcmtlcik9MDsKICAgIHZpcnR1YWwgdm9pZCBkZWxldGVXb3JrZXIoc2hhcmVkX3B0cjxFbXBsb3llZT4gZW1wbG95ZWUpPTA7CiAgICB2aXJ0dWFsIH5FbXBsb3llZSgpe30KICAgIGludCBnZXRJRCgpe3JldHVybiBJRDt9Cn07CgpjbGFzcyBXb3JrZXIgOiBwdWJsaWMgRW1wbG95ZWUKewogICAgcHVibGljOgogICAgV29ya2VyKGludCBlbXBJRCwgc3RyaW5nIGVtcE5hbWUsIHN0cmluZyBlbXBSb2xlKQogICAgICAgIDogRW1wbG95ZWUoZW1wSUQsIGVtcE5hbWUsIGVtcFJvbGUpIHt9CgogICAgdm9pZCBzaG93RGV0YWlscygpCiAgICB7CiAgICAgICAgY291dDw8TmFtZTw8IiAoIjw8SUQ8PCIpICI8PFJvbGU8PGVuZGw7CiAgICB9CgogICAgdm9pZCBhZGRXb3JrZXIoc2hhcmVkX3B0cjxFbXBsb3llZT4gbmV3V29ya2VyKXt9OwogICAgdm9pZCBkZWxldGVXb3JrZXIoc2hhcmVkX3B0cjxFbXBsb3llZT4gZW1wbG95ZWUpe307Cn07CgpjbGFzcyBTdXBlcnZpc29yIDogcHVibGljIEVtcGxveWVlCnsKICAgIHByaXZhdGU6CiAgICB2ZWN0b3I8c2hhcmVkX3B0cjxFbXBsb3llZT4+IG15VGVhbTsKCiAgICBwdWJsaWM6CiAgICBTdXBlcnZpc29yKGludCBlbXBJRCwgc3RyaW5nIGVtcE5hbWUsIHN0cmluZyBlbXBSb2xlKQogICAgICAgIDogRW1wbG95ZWUoZW1wSUQsIGVtcE5hbWUsIGVtcFJvbGUpIHt9CgogICAgdm9pZCBhZGRXb3JrZXIoc2hhcmVkX3B0cjxFbXBsb3llZT4gbmV3V29ya2VyKQogICAgewogICAgICAgIG15VGVhbS5wdXNoX2JhY2sobmV3V29ya2VyKTsKICAgIH0KCiAgICB2b2lkIGRlbGV0ZVdvcmtlcihzaGFyZWRfcHRyPEVtcGxveWVlPiBlbXBsb3llZSkKICAgIHsKICAgICAgICBpbnQgcG9zPTA7CiAgICAgICAgZm9yIChhdXRvIHRlbXAgOiBteVRlYW0pCiAgICAgICAgewogICAgICAgIGlmICh0ZW1wLT5nZXRJRCgpIT1lbXBsb3llZS0+Z2V0SUQoKSkKICAgICAgICAgICAgKytwb3M7CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIG15VGVhbS5lcmFzZShteVRlYW0uYmVnaW4oKStwb3MpOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHZvaWQgc2hvd0RldGFpbHMoKQogICAgewogICAgICAgIGNvdXQ8PE5hbWU8PCIgKCI8PElEPDwiKSAiPDxSb2xlPDwiIC0tLS0+Ijw8ZW5kbDsKICAgICAgICBmb3IgKGF1dG8gd29ya2VyIDogbXlUZWFtKQogICAgICAgIHsKICAgICAgICB3b3JrZXItPnNob3dEZXRhaWxzKCk7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGVuZGw7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKICAgIHNoYXJlZF9wdHI8RW1wbG95ZWU+IFR1c2hhcihuZXcgV29ya2VyKDM3NjY1MywiVHVzaGFyIFNoYWgiLCJUZWFtIG1hdGUiKSk7CiAgICBzaGFyZWRfcHRyPEVtcGxveWVlPiBSYW5qZWV0KG5ldyBXb3JrZXIoNDY5NzI1LCJSYW5qZWV0IEFnbGF3ZSIsIlRlYW0gbWF0ZSIpKTsKICAgIHNoYXJlZF9wdHI8RW1wbG95ZWU+IEtpcmFuKG5ldyBTdXBlcnZpc29yKDEzNzU4MSwiS2lyYW4gQXNoZXIiLCJNYW5hZ2VyIikpOwogICAgc2hhcmVkX3B0cjxFbXBsb3llZT4gTmFtaXRhKG5ldyBTdXBlcnZpc29yKDEyMjExMCwiTmFtaXRhIEdhd2RlIiwiTWFuYWdlciIpKTsKICAgIHNoYXJlZF9wdHI8RW1wbG95ZWU+IFJ1bW1hbihuZXcgU3VwZXJ2aXNvcigxMjIwMjIsIlJ1bW1hbiBTYXllZCIsIk1hbmFnZXIiKSk7CiAgICBzaGFyZWRfcHRyPEVtcGxveWVlPiBSYWplbmRyYShuZXcgU3VwZXJ2aXNvcigxMTExMDksIlJhamVuZHJhIFJlZGthciIsIk1hbmFnZXIiKSk7CiAgICBzaGFyZWRfcHRyPEVtcGxveWVlPiBTYW1lZXIobmV3IFN1cGVydmlzb3IoMTA2MjEzLCJTYW1lZXIgUmFqYWRoeWF4IiwiR3JvdXAgTGVhZCIpKTsKCiAgICBLaXJhbi0+YWRkV29ya2VyKFR1c2hhcik7CiAgICBLaXJhbi0+YWRkV29ya2VyKFJhbmplZXQpOwogICAgU2FtZWVyLT5hZGRXb3JrZXIoS2lyYW4pOwogICAgU2FtZWVyLT5hZGRXb3JrZXIoTmFtaXRhKTsKICAgIFNhbWVlci0+YWRkV29ya2VyKFJ1bW1hbik7CiAgICBTYW1lZXItPmFkZFdvcmtlcihSYWplbmRyYSk7CgogICAgU2FtZWVyLT5zaG93RGV0YWlscygpOwoKICAgIFNhbWVlci0+ZGVsZXRlV29ya2VyKFJ1bW1hbik7CiAgICBTYW1lZXItPnNob3dEZXRhaWxzKCk7CgogICAgcmV0dXJuIDA7Cn0K
-
upload with new input
-
result: Success time: 0s memory: 2996 kB returned value: 0
Sameer Rajadhyax (106213) Group Lead ----> Kiran Asher (137581) Manager ----> Tushar Shah (376653) Team mate Ranjeet Aglawe (469725) Team mate Namita Gawde (122110) Manager ----> Rumman Sayed (122022) Manager ----> Rajendra Redkar (111109) Manager ----> Sameer Rajadhyax (106213) Group Lead ----> Kiran Asher (137581) Manager ----> Tushar Shah (376653) Team mate Ranjeet Aglawe (469725) Team mate Namita Gawde (122110) Manager ----> Rajendra Redkar (111109) Manager ---->


