Можно ли сделать такую весчь:
Например у меня есть общий класс вектора (математического):
template <typename T, uint SIZE> class Vector;
В нем описана куча всяких методов типа dotProduct(), magnitude()
и тд. Но вот в векторе с тремя элементами мне надо считать
crossProduct(). Можно ли сделать так, что при инстанцировании
(это так называется? :-) этого вектора с размером 3, в нем
появлялся бы еще один метод crossProduct() или добавить
еще конструкторы в 2, 3 и 4 векторы.
Ну например вот так:
template <typename T> Vector<T, 3>::crossProduct(const Vector<T, 3> &pVector){/*...*/};
template <typename T> Vector<T, 2>::Vector<T, 2>(T pX, T pY)
{/*...*/};
template <typename T> Vector<T, 3>::Vector<T, 3>(T pX, T pY, T pZ)
{/*...*/};
Или придется создавать новые классы, унаследованные от Vector,
и в них определять эти методы?
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Clang или GCC кто неправ? (2014)
- Форум Как создать массив в С++ (2022)
- Форум Использование placement new (2014)
- Форум Как гарантировать move операцию без copy операций (is_true_move_constructible)? (2021)
- Форум Свой класс Any (2014)
- Форум С++ Помогите избавиться от дублирования однотипного кода. (2018)
- Форум PIMPL без указателя (2016)
- Форум C++ и изобретение хеш-таблиц. (2026)
- Форум template (2007)
- Форум template<smth...> (2007)