Как проверить инициализацию переменной-члена const перед ее назначением в C ++

Mr. Crystal спросил: 03 ноября 2018 в 09:40 в: c++

Допустим, у меня есть этот простой класс с переменной-членом 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 является const, я могу установить его только во время создания объекта с помощью конструктора (со списком инициализации члена, как показано выше).

Теперь вопрос: как я мог бы добавить проверку для аргумента x, данного конструктору, перед тем, как фактически создать важный элемент с этим значением? ? Можно ли создать static int MyClass::validation(int a) и использовать его в списке инициализации членов конструктора, например importantNumber{validation(x)}?

Даже если это возможно, есть ли лучший способ сделать это?

0 ответов