C++ 析构函数是否可以重载?

C++ 析构函数是否可以重载?,c++,syntax,destructor,overloading,C++,Syntax,Destructor,Overloading,说: 构造函数和析构函数不存在 具有返回类型;额外的论点 这是唯一的选择 析构函数是否可以重载? 析构函数是否可以重载 答案显然是否定的 Destructor的两个版本不能在类主体中共存 然而,与流行的观点不同,请注意析构函数有两种语法 struct E { ~E(); // syntax-1 ~E() throw(); // syntax-2 }; Syntax-2不太流行。但如果基类析构函数包含类似语法,则它是必需的。最好的例子是 请注意,不遵守此类语法会导致: 错误:“虚拟

说:

构造函数和析构函数不存在 具有返回类型;额外的论点 这是唯一的选择

析构函数是否可以重载?


析构函数是否可以重载

答案显然是否定的 Destructor的两个版本不能在
主体中共存

然而,与流行的观点不同,请注意析构函数有两种语法

struct E {
  ~E();  // syntax-1
  ~E() throw(); // syntax-2
};
Syntax-2不太流行。但如果基类析构函数包含类似语法,则它是必需的。最好的例子是

请注意,不遵守此类语法会导致:

错误:“虚拟E::~E()”的抛出说明符较松


+1良好的观察。尽管答案是“不”。