Если объект класса B является объектом-членом класса A (совокупный шаблон), то вам даже не нужно явно освобождать его, пока сам B является RAII-ed.С другой стороны, если это объект кучи (A динамически распределяет bb в куче), вам необходимо явно освободить его.Вы можете использовать boost :: scoped_ptr или boost :: shared_ptr (в зависимости от того, хотите ли вы, чтобы владение bb делилось с другими), чтобы сохранить владение объектом bb, чтобы он автоматически освобождался при удалении объекта класса А.