Нет, они не должны быть полными - любые члены, которые не указаны в нем, будут созданы по умолчанию (включая любые базовые классы).
Очевидно, что любые члены, которые не являются конструируемыми по умолчанию, должны быть явно инициализированы. И небольшая ошибка - типы, такие как целые числа или числа с плавающей точкой и т. Д. Не будут инициализированы, поэтому их начальное значение будет неопределенным.