我在嵌入式系统中使用了 C++ 基类和子类(为了清楚起见,我们称它们为 A 和 B)。
这是时间和空间的关键,所以我真的需要它是最小的。
编译器抱怨缺少虚拟析构函数,这是我理解的,因为如果你分配 aB*
然后删除指针作为A*
.
但我永远不会分配此类的任何实例。有没有一种方法可以重载operator new()
,以便在没有动态分配任一类的情况下进行编译,但如果最终用户尝试分配 A 或 B 的新实例,则会导致编译器错误?
我正在寻找一种与通过私有构造函数“毒化”自动编译器复制构造函数的常用技术类似的方法。(例如http://channel9.msdn.com/Forums/TechOff/252214-Private-copy-constructor-and-private-operator-C)