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
члену (возможно) проверяющему достоверность ввода.