Здравствуйте, dronord, Вы писали:
И>>у класса A должен быть виртуальный деструктор.
D>B::~B() сделает смещение в памяти на 1000 байт?
D>Не знаю, где искать в стандарте языка. В нем это есть?
в стандарте языка это есть.
в общем, здесь два пути рарзешения проблемы:
1. рекомендованный. у базового класса должен быть виртуальный деструктор. тогда оператор delete вызовет деструктор конкретного типа, а не того, который ему подсунули.
2. сделать явное приведение типов, например
delete (B*)a;