C ++删除“新”?

时间:2017-02-08 08:16:44

标签: c++ pointers

我正在学习内存泄漏,我对如何删除“新”感到疑问。

我有一个像这样的构造函数:

Car(string nameOfCar) { carName = nameOfCar; }  

然后我有一个继承Car的类,如下所示:

class Chrysler : public Car                             
{   
public:
    Chrysler(string sound = "wroooom") : Car(sound) {}
};

好吧,我有更多的代码,但我不认为我需要分享更多的代码,问我的问题。如果我错了,我会给你更多代码。

无论如何,在主要方面,我喜欢这样:

car.setCar(new Chrysler());

一切正常,但我有内存泄漏,因为我不知道如何删除新的克莱斯勒()。我想我需要在Car中使用析构函数,但我似乎无法正确使用它。有谁愿意帮助我吗? :)

1 个答案:

答案 0 :(得分:-1)

执行此操作的正确方法是在每个创建的类的Destructor函数内设置delete运算符,以避免内存泄漏和崩溃