在C++中,类的继承析构函数执行是指当一个派生类对象被销毁时,其析构函数会被自动调用,从而确保基类和派生类中的资源得到正确释放
当一个类被继承时,基类的析构函数会在派生类的析构函数之前被调用。这是因为派生类的析构函数需要首先调用基类的析构函数来确保基类中的资源得到正确释放。然后,派生类中的析构函数会被调用,以释放派生类中的资源。
以下是一个简单的示例,展示了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
从输出结果可以看出,当派生类对象被销毁时,基类和派生类的析构函数按照逆序被调用。这样可以确保基类和派生类中的资源得到正确释放。