iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
自我挑戰組

C++入門即放棄系列 第 17

[DAY17]組裝與拆解?

  • 分享至 

  • xImage
  •  

什麼是建構子?

📌 當你一買到玩具,它就會自動貼上名字標籤

物件被建立的時候就會自動執行

  • 名字跟類別一樣
  • 不需要回傳型別(不用 voidint
  • 可以用來「初始化」資料(例如設定名字、年齡)

什麼是解構子?

📌 當玩具壞掉被丟掉之前,它會自動說一句掰掰

物件被刪除的時候自動執行

  • 名字跟類別一樣,但前面加 ~
  • 一個類別只能有一個解構子
  • 常用來釋放資源(像是關檔案、釋放記憶體)

範例

#include <iostream>
using namespace std;
class Student 
{
	private:
	    string name;
	    int age;
	public:
	    Student(string n, int a) 
	    {
	        name = n;
	        age = a;
	        cout << "學生: " << name << endl;
	    }
	    void say() 
	    {
	        cout << name << " " << age << " 歲" << endl;
	    }
	    ~Student() 
	    {
	        cout << "資料已刪除" << endl;
	    }
};
int main() 
{
    Student s("小A", 12);
    s.say();
    return 0;
}

結論

建構子與解構子

幫助我們在物件出生和消失的處理

建構子 → 物件建立時,能擁有正確的初始狀態

解構子 → 確保物件消失時能妥善釋放資源,避免記憶體浪費或程式錯誤

📌這像是人生一樣,有出生,便有著離開


上一篇
[DAY16]畫出我的設計圖!
下一篇
[DAY18]沒有錯!就是你!
系列文
C++入門即放棄21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言