fork download
  1.  
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. class Player {
  8. public:
  9. string name;
  10.  
  11. Player(string n) : name(n) {}
  12. };
  13.  
  14. class Team {
  15. private:
  16. vector<Player*> players;
  17.  
  18. public:
  19. void addPlayer(Player& p) {
  20. players.push_back(&p);
  21. }
  22.  
  23. void showPlayers() {
  24. for (Player* p : players) {
  25. cout << p->name << endl;
  26. }
  27. }
  28. };
  29.  
  30. int main() {
  31. Player p1("Ahmed");
  32. Player p2("Omar");
  33.  
  34. {
  35. Team team;
  36. team.addPlayer(p1);
  37. team.addPlayer(p2);
  38.  
  39. team.showPlayers();
  40. } // Team is destroyed here
  41.  
  42. cout << p1.name << " still exists\n";
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
Ahmed
Omar
Ahmed still exists