C++对象的生存期

        对象生存期也称对象生命周期,是指对象从被创建到被释放的时间。按生存期的不同,对象可分为局部对象、静态对象、全局对象和动态对象4种。

1.局部对象

        局部对象是指定义在一个程序块或函数体内的对象,包括形参。当定义对象时,系统自动调用构造函数,该对象被创建,对象的生存期开始。当退出该函数体或程序块时,调用析构函数,释放该对象,对象的生存期结束。


#include <iostream>
using namespace std;

class A //测试对象生存期的类
{
public:
A(int i):id(i) //构造函数
{
    cout << "id="<<id<<"对象被创建了" << endl;
}
A(const A& ca)//拷贝构造函数
{
    id = ca.id;
    cout <<"拷贝构造: "<<"id = " << id << "对象被创建了" << endl;
}
~A()
{
    cout << "id=" << id << "析构,对象被销毁!" << endl;
}
private:
int id; //编号,用于区分不同的对象
};

void test1(A b)
{
    cout << "进入,test1()" << endl;

    cout << "test1()结束" << endl;
}

void test2()
{
    cout << " 进入,test2()" << endl;

    A c(3);

    cout << " test2()结束" << endl;
}

int main()
{
    cout << "进入,main()" << endl;

    A a(1);
    test1(a);
    test2();

    cout << "main()结束" << endl;

    return 0;
}

程序执行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪星猫宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值