#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Player {
public:
string name;
Player(string n) : name(n) {}
};
class Team {
private:
vector<Player*> players;
public:
void addPlayer(Player& p) {
players.push_back(&p);
}
void showPlayers() {
for (Player* p : players) {
cout << p->name << endl;
}
}
};
int main() {
Player p1("Ahmed");
Player p2("Omar");
{
Team team;
team.addPlayer(p1);
team.addPlayer(p2);
team.showPlayers();
} // Team is destroyed here
cout << p1.name << " still exists\n";
return 0;
}
CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFBsYXllciB7CnB1YmxpYzoKICAgIHN0cmluZyBuYW1lOwoKICAgIFBsYXllcihzdHJpbmcgbikgOiBuYW1lKG4pIHt9Cn07CgpjbGFzcyBUZWFtIHsKcHJpdmF0ZToKICAgIHZlY3RvcjxQbGF5ZXIqPiBwbGF5ZXJzOwoKcHVibGljOgogICAgdm9pZCBhZGRQbGF5ZXIoUGxheWVyJiBwKSB7CiAgICAgICAgcGxheWVycy5wdXNoX2JhY2soJnApOwogICAgfQoKICAgIHZvaWQgc2hvd1BsYXllcnMoKSB7CiAgICAgICAgZm9yIChQbGF5ZXIqIHAgOiBwbGF5ZXJzKSB7CiAgICAgICAgICAgIGNvdXQgPDwgcC0+bmFtZSA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KfTsKCmludCBtYWluKCkgewogICAgUGxheWVyIHAxKCJBaG1lZCIpOwogICAgUGxheWVyIHAyKCJPbWFyIik7CgogICAgewogICAgICAgIFRlYW0gdGVhbTsKICAgICAgICB0ZWFtLmFkZFBsYXllcihwMSk7CiAgICAgICAgdGVhbS5hZGRQbGF5ZXIocDIpOwoKICAgICAgICB0ZWFtLnNob3dQbGF5ZXJzKCk7CiAgICB9IC8vIFRlYW0gaXMgZGVzdHJveWVkIGhlcmUKCiAgICBjb3V0IDw8IHAxLm5hbWUgPDwgIiBzdGlsbCBleGlzdHNcbiI7CgogICAgcmV0dXJuIDA7Cn0K