【发布时间】:2012-12-03 13:25:17
【问题描述】:
是否可以有一个虚拟删除操作符?我不是在说析构函数,我指的是实际的运算符重载。
减去(在大多数情况下)重载 new 和 delete 是一个很大的坏主意(是的,我已经知道这是异端邪说),我想知道使用虚拟删除运算符会产生什么样的影响。
我正在考虑尝试使用虚拟删除,因为有时我可能有一个重载删除的子类,存储在基类指针中。从技术上讲,我真的没有看到这个案例取得太多成果,除非我有一个不同节点类型的树(如果你问我,这首先是一个潜在的危险想法)。
我只想知道虚拟或非虚拟删除运算符覆盖的潜在优缺点是什么。
【问题讨论】:
-
您可以在大约 30 秒内使用编译器自己回答第一个问题。
-
@EJP 是的。我有一个可以测试它的设置。一秒。
-
是的...谢谢大家的澄清。愚蠢的问题是愚蠢的! =)
-
+1 好问题。他他
标签: c++ inheritance operator-overloading virtual delete-operator