Неподробное решение, позволяющее сделать переменную-член класса необязательной в зависимости от типа шаблона?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Неподробное решение, позволяющее сделать переменную-член класса необязательной в зависимости от типа шаблона?

Сообщение Anonymous »

Я хочу, чтобы переменная-член класса only_if_int определялась только в том случае, если экземпляр класса создается с типом шаблона int. У меня есть рабочее решение, но оно слишком многословное.

Код: Выделить всё

#include 
#include 

template
class MyClass;

template
class MyClass{
public:
int common;
int only_if_int;

MyClass()
{
common = 0;
only_if_int = 0;
}

void alter_values()
{
common++;
only_if_int++;
}
};

template
class MyClass>{
public:
int common;
MyClass()
{
common = 0;
}

void alter_values()
{
common++;
}
};

int main()
{
MyClass  int_class;
MyClass  float_class;
int_class.alter_values();
float_class.alter_values();

std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/63820176/non-verbose-solution-to-make-a-class-member-variable-optional-based-on-the-type[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»