Допустим, у меня есть этот простой класс с переменной-членом const int:
class MyClass{
public:
Myclass(int x, int y);
private:
const int importantNumber;
int anotherNumber;
};
MyClass::MyClass(int x, int y) :importantNumber{x}
{
this->anotherNumber = y;
}
Поскольку int importantNumber
является константой, я могу установить его только во время создания объекта конструктором (ссписок инициализации члена, как показано выше).
Теперь вопрос: как я мог бы добавить проверку для аргумента x, данного конструктору, перед тем, как фактически создать важный элемент с этим значением?Можно ли создать static int MyClass::validation(int a)
и использовать его в списке инициализации члена конструктора, например importantNumber{validation(x)}
?
Даже если это возможно, есть ли лучший способ сделать это?