¿Agregar / eliminar miembros de datos con parámetros de plantilla?
Considere el siguiente código:
template<bool AddMembers> class MyClass
{
public:
void myFunction();
template<class = typename std::enable_if<AddMembers>::type> void addedFunction();
protected:
double myVariable;
/* SOMETHING */ addedVariable;
};
En este código, el parámetro de la plantilla.AddMembers
Permite agregar una función a la clase cuando estrue
. Para ello, utilizamos unstd::enable_if
.
Mi pregunta es: ¿es lo mismo posible (quizás con un truco) para los miembros de datos variable? (de tal manera queMyClass<false>
tendrá 1 miembro de datos (myVariable
) yMyClass<true>
tendrá 2 miembros de datos (myVariable
yaddedVariable
)?