Я использую базовый класс C ++ и подклассы (давайте назовем их A и B для ясности) в моей встроенной системе.
Это критично ко времени и пространству, поэтому мне действительно нужно, чтобы оно было как минимум минимальным.
Компилятор жалуется на отсутствие виртуального деструктора, что, как я понимаю, может помочь вамв беду, если вы выделите B*
, а затем удалите указатель как экземпляр A*
.
Но я никогда не собираюсь выделять какие-либо экземпляры этого класса.Есть ли способ, которым я могу перегрузить operator new()
таким образом, чтобы он компилировался, если нет динамического размещения ни одного из классов, но вызывает ошибку компилятора, если конечный пользователь пытается выделить новые экземпляры A или B?
Я ищу похожий подход к общему способу «отравления» конструкторов автоматического копирования копий через частные конструкторы.(например, http://channel9.msdn.com/Forums/TechOff/252214-Private-copy-constructor-and-private-operator-C)