#include
template< typename T >
class XY
{
public:
XY() = default;
XY(T x, T y) { vec2 = { x,y }; }
virtual ~XY() = default;
auto X() const -> T { return vec2[0]; }
auto Y() const -> T { return vec2[1]; }
private:
std::array vec2;
};
template< typename T >
class xy
{
public:
xy() = default;
xy(T xx, T yy) : x(xx), y(yy) {}
virtual ~xy() = default;
T x, y;
};
template
class coordinates {
public:
T _pp;
void printcoordinates() {
// how can I refer to _pp.x or _pp.X() when it T can be either XY or xy
_pp.x or _pp.X();
_pp.y or _pp.Y();
}
};
У меня есть три шаблона классов: XY, xy и координаты. См. приведенные выше фрагменты кода в координатах, как можно ссылаться на XY.X() и xy.x?
Ниже у меня есть 3 шаблона классов. Мой вопрос также содержится в коде ниже. [code]#include
template< typename T > class XY { public: XY() = default; XY(T x, T y) { vec2 = { x,y }; } virtual ~XY() = default; auto X() const -> T { return vec2[0]; } auto Y() const -> T { return vec2[1]; } private: std::array vec2; };
template< typename T > class xy { public: xy() = default; xy(T xx, T yy) : x(xx), y(yy) {} virtual ~xy() = default; T x, y; }; template class coordinates { public: T _pp; void printcoordinates() { // how can I refer to _pp.x or _pp.X() when it T can be either XY or xy _pp.x or _pp.X(); _pp.y or _pp.Y(); } };
[/code] У меня есть три шаблона классов: XY, xy и координаты. См. приведенные выше фрагменты кода в координатах, как можно ссылаться на XY.X() и xy.x?
Я пытаюсь написать шаблон класса с переменным пакетом параметров шаблона, который разделен на две группы аргументов. Они должны использоваться в шаблонах участников.
template
class Foo {
public:
Foo(const Args&... args) :gr1{/*...*/}, gr2{/*...*/}...
Этот код из моего контроллера загружает мою первую страницу:
/**
* @Route( /main )
*/
public function indexAction()
{
$templating = $this->container->get('templating');
$html = $templating->render('base.html.twig');
return new Response($html);
}...