скобках, в фигурных скобках или в теле конструктора?
1) Test(int val1, float val2) : x(val1), y(val2) {}
2) Test(int val1, float val2) : x{val1}, y{val2} {}
3) Test(int val1, float val2) { x = val1, y = val2 }
1. в теле конструктора нельзя инициализировать объекты, не имеющие конструктора по умолчанию, либо константные поля / ссылочные типы 2. фигурная инициализация, в отличие от инициализации круглыми скобками, всегда вызовет конструктор от initializer_list (если существует подходящее преобразование), если таковой имеется
Обсуждают сегодня