EOG*_*EOG 4 c++ implementation
是否应该在无指针类中声明/实现破坏?拥有/不拥有它有什么好处吗?
我的男人是:
class Point
{
public:
int X, Y;
Point(int x, int y);
//~Point(void); //should I uncoment it and implement empty destructor ?
}
Run Code Online (Sandbox Code Playgroud)
是否应该在无指针类中声明/实现破坏?
不需要[条件适用].编译器会为你生成一个.
只有在想要执行特定的操作时才应该提供一个,而编译器则不会.
例如:
通常,拇指规则是:
"如果您需要提供复制构造函数或复制赋值运算符,那么您很可能还需要提供自己的析构函数."
通俗地说,这条规则被称为三规则.
[条件适用] 如果您的类要作为继承的基类,并且您的实现将需要调用delete指向派生类对象的Base类指针,那么您需要提供析构函数并将其标记为virtual在Base类中,失败这样做会导致未定义的行为.
拥有/不拥有它有什么好处吗?
没有,因为编译器也这样做,所以不需要进行额外的输入.