我有这个代码,练习是找出如果我构建了我的类实例并在之后删除它会发生什么错误。我无法在这个课程的定义中找到错误,所以也许你可以帮助我。这是代码:
class BadClass{
public:
BadClass(){
p = new double;
}
~BadClass () {}
double getValue() {return *p;}
void setValue(double v) {*p = v;}
private:
double* p;
};
答案 0 :(得分:2)
您在构造函数中调用new double
,而在析构函数中没有相应的delete p
调用。
这将导致内存泄漏。