лить несколько перегруженных в
Автор admin
Суббота, 23 мая 2009 11:32
лить несколько перегруженных версий для всех случаев, но лучше поручить работу шаблонам, как в следующей версии программы: //: C05:MyVector2.cpp // Вычисление сумм произвольной длины с использованием шаблонов выражений #i nclude #i nclude #include #i nclude using namespace std; // Промежуточный класс для суммы векторов tempiate class MyVectorSum: tempiate class MyVector { T data[N]: public: MyVector& operatorsconst MyVector& right) { for (size_t i = 0: i < N: ++i) data[i] = right.data[i]: return *this; } tempiate MyVector& operator=(const MyVectorSum& right): const T& operator[](size_t i) const { return data[i]: } T& operator[](size_t i) { return data[i]; } }•• // Позволяет смешивать MyVector с MyVectorSum template class MyVectorSum { const Left& left: const Rights right; public: MyVectorSum(const Lefts lhs. const Rights rhs) : left(lhs). right(rhs) {} T operator[](size_t i) const { return left[i] + right[i]: 246 Глав
Комментарии закрыты.
Последние комментарии