![]() |
Обучаемся проектированию двухмерных и трехмерных движков: шаблоны, матрицы и векторы
Мне нужна матрица из векторов, например такого вида
(0,0,0) (1,1,1) (1,1,1) (1,1,1) Для этого нужно, чтобы я мог создавать матрицу произвольного типа : то есть, чтобы функция получила тип и динамически создала данные нужного типа 1. Как описать произвольный тип матрицы? Код:
template <class T> 2. Как функции передать тип матрицы, которая мне нужна, чтобы она создала матрицу нужного типа? Код:
template <class T> Код:
matrx create_matrix(int sz, T) Нужно чтобы функция автоматически определила тип T и динамически создала данные нового типа Код:
matrix[k]=new T[columns]; Код:
matrx create_matrix(int rows, int columns); Сейчас в таком виде Код:
typedef doubl** matrx; Код:
typedef int doubl; Код:
typedef double doubl; |
Видимо, чтобы это сделать, надо реализовывать полностью абстрактные классы и конструкторы в зависимости от типа данных.. Буду читать литературу - с наскока, не понимая до конца синтаксис классов в с++, абстрактный класс матрицы не просто реализовать..
Я хотел объединить эти две функции в одну, используя только методы структурного программирования Код:
typedef int doubl; |
Задан такой класс.
Код:
template <class T> |
для работы с линейной алгеброй в с++ есть шаблоны valarray<typename T>, правда, как говорят разработчики стандарта, за него не было ответсвенного, поэтому он сделан полу-тяп-ляп. В принципе работает, нареканий не было
Код:
#include <valarray> |
Время: 14:19. |
Время: 14:19.
© OSzone.net 2001-