c++构造函数和析构函数

27 篇文章 0 订阅
16 篇文章 0 订阅

构造函数:

/*===============================================
 *   文件名称:dem.cpp
 *   创 建 者:     
 *   创建日期:2022年09月14日
 *   描    述:
 ================================================*/
#include <iostream>
using namespace std;
class Demo
{
    public:
        Demo (int val,int val1) //构造函数,一般用于给成员变量赋初值,由系统自动调用
        {
            value=val;
            value1=val1;
            cout << __func__<< ":"  << __LINE__ << endl;//打印函数名和行号
        }
    public:
        void set_val(int val)
        {
            value =val;
        }
        int get_val()
        {
            return value1;
        }
    private:
        int value;
        int value1;
};
int main ()
{
    Demo obj(1,2);//定义了一个名为obj的对象,用123给value赋初值,123实际上是对构造函数传参
    cout << "value=" << obj.get_val() << endl;
    return 0;
}
                                                                                         

构造函数运行结果:
在这里插入图片描述
说明在函数构建对象的时候使用了构造函数。


析构函数:一般用于资源回收,由系统自动调用

/*===============================================
 *   文件名称:dem.cpp
 *   创 建 者:     
 *   创建日期:2022年09月14日
 *   描    述:
 ================================================*/
#include <iostream>
using namespace std;
class Demo
{
    public:
        Demo (int val,int val1)
        {
            value=val;
            value1=val1;
            cout << __func__<< ":"  << __LINE__ << endl;
        }
        ~Demo()//析构函数
        {
            cout << __func__<< ":"  << __LINE__ << endl;

        }

    public:
        void set_val(int val)
        {
            value =val;
        }
        int get_val()
        {
            return value1;
        }
    private:
        int value;
        int value1;
};
int main ()
{
    Demo obj(1,2);
    cout << "value=" << obj.get_val() << endl;
    return 0;
}

析构函数运行结果:
在这里插入图片描述
说明在函数结束的时候使用了析构函数。

先构造的后析构,对象结束时obj1先析构
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值