溫馨提示×

C++類的繼承析構函數執行

c++
小樊
90
2024-10-31 10:41:55
欄目: 編程語言

在C++中,類的繼承析構函數執行是指當一個派生類對象被銷毀時,其析構函數會被自動調用,從而確?;惡团缮愔械馁Y源得到正確釋放

當一個類被繼承時,基類的析構函數會在派生類的析構函數之前被調用。這是因為派生類的析構函數需要首先調用基類的析構函數來確?;愔械馁Y源得到正確釋放。然后,派生類中的析構函數會被調用,以釋放派生類中的資源。

以下是一個簡單的示例,展示了C++類的繼承和析構函數執行的過程:

#include <iostream>

class Base {
public:
    Base() {
        std::cout << "Base constructor called" << std::endl;
    }

    ~Base() {
        std::cout << "Base destructor called" << std::endl;
    }
};

class Derived : public Base {
public:
    Derived() {
        std::cout << "Derived constructor called" << std::endl;
    }

    ~Derived() {
        std::cout << "Derived destructor called" << std::endl;
    }
};

int main() {
    Derived d; // 創建一個派生類對象
    return 0; // 當main函數結束時,派生類對象會被銷毀,從而調用其析構函數
}

輸出結果:

Base constructor called
Derived constructor called
Derived destructor called
Base destructor called

從輸出結果可以看出,當派生類對象被銷毀時,基類和派生類的析構函數按照逆序被調用。這樣可以確?;惡团缮愔械馁Y源得到正確釋放。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女