Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- class MarksStorage
- {
- size_t size;
- int* storage;
- public:
- MarksStorage(size_t sizeP) : size{ sizeP }, storage{ new int[sizeP] {} } {std::cout << "Acquire memory for marks!\n"; }
- MarksStorage() : MarksStorage(1) {}
- bool setMark(size_t id, int mark)
- {
- if (id < 0 or id > size - 1 or mark < 1 or mark > 12) { return false; }
- storage[id] = mark;
- return true;
- }
- int getMark(size_t id)
- {
- if (id < 0 or id > size - 1) { return 0; }
- return storage[id];
- }
- void print()
- {
- std::cout << "Marks: ";
- for (int i{ 0 }; i < size; ++i)
- {
- std::cout << storage[i] << ' ';
- }
- std::cout << '\n';
- }
- ~MarksStorage() { delete[] storage; std::cout << "Release memory from marks!\n"; }
- };
- int main()
- {
- MarksStorage ms1{ 4 };
- ms1.setMark(0, 11);
- ms1.setMark(1, 7);
- ms1.setMark(2, 9);
- ms1.setMark(3, 10);
- ms1.print();
- MarksStorage ms2;
- ms2.setMark(4, 11);
- ms2.print();
- ms2.setMark(0, 15);
- ms2.print();
- ms2.setMark(0, 9);
- ms2.print();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment