Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- const int maxNameLen{ 50 };
- struct Player
- {
- int id;
- char* name{nullptr};
- int rank;
- void init(int idP, const char* nameP, int rankP)
- {
- id = idP;
- setName(nameP);
- rank = rankP;
- }
- void setName(const char* nameP)
- {
- auto len{ strlen(nameP) + 1 };
- if (!name)
- {
- name = new char[len];
- }
- else if (name and strlen(name) + 1 < len)
- {
- delete[] name;
- name = new char[len];
- }
- strcpy_s(name, len, nameP);
- }
- void print()
- {
- std::cout << id << ' ' << name << ' ' << rank << '\n';
- }
- void clear()
- {
- delete[] name;
- }
- };
- void printPlayers(Player* begin, Player* end)
- {
- for (auto player{ begin }; player != end; ++player)
- {
- player->print();
- }
- }
- void clearPlayers(Player* begin, Player* end)
- {
- for (auto player{ begin }; player != end; ++player)
- {
- player->clear();
- }
- }
- int main()
- {
- const int playersCount{ 3 };
- Player players[playersCount];
- Player* const playersEnd{ players + playersCount };
- players[0].init(26007, "MadMax", 39);
- players[1].init(28002, "Batman", 25);
- players[1].setName("MishMans");
- players[2].init(29002, "Joker", 15);
- //players[0].print();
- //players[1].print();
- //players[2].print();
- printPlayers(players, playersEnd);
- //players[0].clear();
- //players[1].clear();
- //players[2].clear();
- clearPlayers(players, playersEnd);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement