課程
/后端開發
/C++
/C++遠征之封裝篇(上)
如果我們沒有定義析構函數,系統會自動定義,那為什么我們要定義析構函數,直接讓系統定義不就好了嗎
2018-11-23
源自:C++遠征之封裝篇(上) 6-12
正在回答
系統可以釋放對象,但不能釋放對象引用的東西。
作者強調過,用了new一定要用delete。
視頻末尾不是有一個示例嗎。
#include<iostream> using?namespace?std; class?student { public: ????student(){name=new?char[20];} ????char?*name; }; int?main() { ????student?stu; ????//如果不定義析構我要多加這句 ????delete?[]?stu.name; ???? ????//如果定義了可以直接完事 ????return?0; }
舉報
封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-11-24
系統可以釋放對象,但不能釋放對象引用的東西。
作者強調過,用了new一定要用delete。
視頻末尾不是有一個示例嗎。