簡體   English   中英

C++ 刪除“新”?

[英]C++ Delete "new"?

我正在學習內存泄漏,但我對如何刪除“new”有疑問。

我有一個這樣的構造函數:

Car(string nameOfCar) { carName = nameOfCar; }  

然后我有一個繼承 Car 的類,如下所示:

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

好的,我有比這更多的代碼,但我認為我不需要分享比這更多的代碼來問我的問題。 如果我錯了,我會給你更多的代碼,當然。

無論如何,總的來說,我喜歡這樣:

car.setCar(new Chrysler());

一切正常,但我有內存泄漏,因為我不知道如何刪除 new Chrysler()。 我想我需要在 Car 中使用析構函數,但我似乎無法正確使用。 有誰願意幫助我嗎? :)

一個正確的方法是在創建的每個類的析構函數中設置刪除操作符,以避免內存泄漏和崩潰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM