iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
自我挑戰組

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

[DAY20]函式的組裝與拆解!

  • 分享至 

  • xImage
  •  

建構函式是甚麼?

📌 當你用 class 建立一個物件時,它會自動被呼叫,用來「初始化」物件

  • 特點
    • 名稱跟類別相同
    • 沒有回傳型別
    • 可以有參數,也可以不傳參數(預設建構函式)
#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 display() 
	    {
	        cout << "姓名: " << name << ", 年齡: " << age << endl;
	    }
};
int main() 
{
    Student s1("小A", 12); 
    Student s2("小B", 13);
    s1.display();
    s2.display();
    return 0;
}

解構函式是甚麼?

當物件「消失」時(例如程式結束、物件超出範圍)

解構函式會自動被呼叫

📌 用來釋放資源(例如關閉檔案、釋放記憶體)

  • 特點
    • 名稱為 ~類別名稱
    • 沒有參數、沒有回傳值
    • 一個類別只能有一個解構函式
#include <iostream>
using namespace std;
class Student 
{
	private:
	    string name;
	public:
	    Student(string n) 
	    {
	        name = n;
	        cout << "建立學生: " << name << endl;
	    }
	    ~Student() 
	    {
	        cout << "刪除資料: " << name << endl;
	    }
};
int main() 
{
    Student s1("小A");
    Student s2("小B");
    return 0; 
}

結論

📌 建構函式 → 負責在物件建立時進行初始化

例如設定初始值或配置資源

📌 解構函式 → 在物件消失時釋放資源或進行清理

避免記憶體外洩或資源未關閉的問題


上一篇
[DAY19]不一樣的傳遞!
系列文
C++入門即放棄20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言