Компилятор создает конструктор по умолчанию, только если вы не указали альтернативный конструктор.
Потому что вы сделали:
B(bool x) {theArray[1] = x;}
Конструктор по умолчанию не будет создан для вас.
Конкретная ошибка, которую вы получаете, заключается в том, что A (const & origin) не указывает конструктор, который будет явно использоваться для obj_B.
Будет работать следующий код:
A(A const &origin) : obj_B(1) {obj_B = origin.obj_B;}
Кстати, вам не нужна конечная точка с запятой в определении функции.