析构函数可以重载吗?
enable_if doc page says:
Constructors and destructors do not
have a return type; an extra argument
is the only option.
Are destructors overloadable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
否
;
No
答案很简单否。
两个版本的析构函数不能在一个
class
主体中共存。然而,与普遍的看法不同的是,请注意析构函数确实有 2 种语法。
Syntax-2 不太流行。但如果基类析构函数包含类似的语法,则这是强制性的。最好的例子是继承
std::Exception
。请注意,不遵守此类语法会导致:
The answer is plain No.
Two versions of desturctor cannot co-exist in a
class
body.However unlike the popular belief, note that destructor does have 2 syntax.
Syntax-2 is less popular. But it is mandatory, if the base class destructor contains similar syntax. The best example is inheriting
std::exception
.Note that, not complying to such syntax results in:
否
为什么?
因为析构函数不接受任何参数,要重载任何函数,您有两个条件:
但由于析构函数没有任何参数,我们无法重载它们。
NO
Why?
Because destructor doesn't take any parameters and to overload any function you have two conditions:
But as destructors don't have any arguments we cant overload them.