#include<iostream>
using namespace std;
class B
{
public:
B(int n){data=n;}
~B(){cout<<data<<endl;}
private:
int data;
};
int main()
{
B b1(4);
using namespace std;
class B
{
public:
B(int n){data=n;}
~B(){cout<<data<<endl;}
private:
int data;
};
int main()
{
B b1(4);
B b2(5);
return 0;}
构造函数和析构函数是成对出现的,定义一个对象的时候会调用构造函数完成类对象的初始化,当对象生命周期结束的时候会自动调用析构函数释放对象占用的空间;调用析构函数的顺序和调用构造函数的顺序是相反的
对象按生存周期可以分为四类:局部对象,全局对象,静态对象,动态对象
局部对象:局部对象的生存周期局部在一个函数体中
全局对象:程序运行时调用构造函数,程序结束时调用析构函数,生存周期贯穿整个程序
静态对象:生存周期从定义静态对象到程序结束
动态对象:取决于new和delete
局部对象<静态对象<全局对象