构造函数和析构函数没有返回类型;额外的参数是唯一的选择。
析构函数可以重载吗?
析构函数可以重载吗?
答案很简单。两个版本的析构函数不能在一个主体
中共存。class
然而,与流行的看法不同,请注意析构函数确实有两种语法。
struct E {
~E(); // syntax-1
~E() throw(); // syntax-2
};
Syntax-2 不太受欢迎。但如果基类析构函数包含类似的语法,则它是强制性的。最好的例子是继承std::exception
。
请注意,不遵守此类语法会导致:
错误:'virtual E::~E()'的更宽松的抛出说明符</p>
否
为什么?
因为析构函数不带任何参数并且要重载任何函数,所以你有两个条件:
但是由于析构函数没有任何参数,我们不能重载它们。