Вы совершили здесь смертный грех - не подчиняясь правилу 3 .
Ваш B нуждается в деструкторе, но не выполняет копирование и назначение.
Затем вы продолжаете и усугубляете ошибку, фактически выполняя назначение.
Вы также продолжаете удалять неинициализированный указатель. (Было бы хорошо, если бы d было NULL, но нет причины, почему это должно быть).
Вам также необходимо реализовать конструкцию копирования, тем более что ваш компилятор вполне может решить использовать его для вышеуказанных конструкций, хотя, вероятно, на самом деле этого не будет.