.::.DIMA.::. |
26-01-2009 01:55 1019465 |
Класс “ вектор в n-мерном пространстве”
Решено
|
используй шаблон valarray, там уже всё определено. А если хочешь добавить методы - сделай производный от него класс или класс-контейнер.
Код:
#include <valarray>
#include <iterator>
#include <iostream>
using namespace std;
template <typename X>
ostream& operator<<(ostream& os, const valarray<X>& va)
{
copy(&va[0], &va[va.size()], ostream_iterator<X>(os,"\t"));
retrun os;
}
int main()
{
valarray<double> a(1., 5); // 5-мерный вектор из единичек
static const double b_data = {1., 2., 3., 4., 5.};
valarray<double> b(b_data, 5); // 5-мерный вектор {1,2,3,4,5}
cout << a << "\n"
<< b << "\n"
<< (a*2. + b*3.) << "\n"
<< (a*b) << "\n";
a+=b;
}
пост предназначен для тех, кому _действительно_ необходимо реализовать вектор, а не лабу сделать
|
зайди в папку с заголовочными файлами твоего компилятора и сделай поиск по тексту valarray. Там и найдёшь исходники (шаблоны всегда в исходниках). Скорее всего файл называется *valarray*.*
|
Время: 09:24.
© OSzone.net 2001-