Можно ли сделать такую весчь: Например у меня есть общий класс вектора (математического): 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)
- Форум [C++] Константные массивы - члены классов (2008)
- Форум Использование POD членов класса до их инициализации (2017)
- Форум [C++] Что-то туплю с наследованием (2012)
- Форум Использование placement new (2014)
- Форум Стиль или как правильно (2014)
- Форум const поля однократной инициализации в классе и оптимизация (2022)
- Форум C++: несовместимые по const геттеры (2016)
- Форум Свой класс Any (2014)