C/C++ - Класс “ вектор в n-мерном пространстве”

Ответить
Аватара пользователя
.::.DIMA.::.

Re: C/C++ - Класс “ вектор в n-мерном пространстве”

Сообщение .::.DIMA.::. »

используй шаблон 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;
}

пост предназначен для тех, кому _действительно_ необходимо реализовать вектор, а не лабу сделать
Аватара пользователя
pva

Re: C/C++ - Класс “ вектор в n-мерном пространстве”

Сообщение pva »

зайди в папку с заголовочными файлами твоего компилятора и сделай поиск по тексту valarray. Там и найдёшь исходники (шаблоны всегда в исходниках). Скорее всего файл называется *valarray*.*
Ответить

Вернуться в «Программирование и базы данных»