C++ классы, нужна помощь

Я новичок в C++ и пытаюсь понять код, связанный с OpenCV. У него есть следующий класс:

class Settings
{
public:
    Settings() : goodInput(false) {}
    enum Pattern { NOT_EXISTING, CHESSBOARD, CIRCLES_GRID, ASYMMETRIC_CIRCLES_GRID };
    enum InputType { INVALID, CAMERA, VIDEO_FILE, IMAGE_LIST };
.
.
.
.
}

что значит Settings() : goodInput(false) {} значит здесь. Я не думаю, что это конструктор. Объясни это пожалуйста.

2 ответа

Решение

Это действительно конструктор. Что вы видите после : называется initializer-list и инициализирует значения перед вводом фигурных скобок.

Вы также должны знать, что переменные-члены класса всегда инициализируются перед входом в тело конструктора. Если вы не упомянули переменную-член в списке инициализатора, она будет инициализирована по умолчанию.

Он назначает (по умолчанию) начальное значение false члену (возможно) проверяющему достоверность ввода.

Другие вопросы по тегам