Задача за самостоятелна работа по ООП и ООП-практикум
Да се дефинира шаблон на клас Vector<T>, описващ колекция от последователни елементи от произволен тип T. Размерността на вектора е фиксирана при създаване и се задава в конструктора му. За класа да се реализират:
-
операция [] за индексиране, даваща достъп за четене и писане до елементите на вектора. Да се генерира подходяща грешка (напр. изключение) при опит за достъп до елемент с невалиден индекс.
-
необходимите конструктори, деструктор, операция за присвояване
-
операции + и +=, събиращи векторите покомпонентно. Да се генерира подходяща грешка (напр. изключение), ако векторите са с различна размерност
Да се демонстрира употребата на класа с примерна програма, която дефинира чрез шаблона Vector<T>, матрица с размерност 2x3, представена като вектор от вектори от числа с плаваща запетая. Да се инициализират елементите на матрицата с нули.
За тази задача не се допуска използване на std::vector или други стандартни структури от данни от STL или предварително реализирани такива.
Решението на задачата да бъде описано в единствен файл с разширение .cpp.