C++ 构造器(Constructor)

本文详细介绍了构造器和析构器的概念及其使用规则。构造器用于对象创建时的初始化工作,而析构器则负责对象销毁前的清理工作。通过C++代码示例展示了如何正确地使用构造器分配内存并在析构器中释放内存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义

构造器:

1.与类名相同,无返回,被系统生成对象时自动调用,用于初始化

2.可以有参数,构造器的重载,默认参数

3.若未提供任何构造,系统默认生成一个无参空构造器。若提供,则不再生成默认构造器。

class   类名

{
     类名(形式参数)             
     构造体                        

}

class    A
{
       A(形参)

        {

         }

}

规则:
1在对象创建时自动调用,完成初始化相关工作。
2无返回值,与类名同,
3可以重载,可默认参数。

4默认无参空体,一经实现,默认不复存在。


析构器(Destructor)

规则:

1对象销毁时,自动调用。完成销毁的善后工作。
2无返值,与类名同,无参。不可以重载与默认参数。
3系统提供默认空析构器,一经实现,不复存在

析构函数的作用,并不是删除对象,而在对象销毁前完成的一些清理工作。

#include<cstring>
using namespace std;
class Stu
{
  public:
        Stu()
        {
            name=new char[100];
        }
        ~Stu()    //这里如果没有,编译器会自动产生。
        {
            delete []name;    //析构可以delete删除构造器开创的空间
        }
        char *name;
        int age;
};


int main()
{
   Stu *ps=new Stu;
   strcpy(ps->name,"chen");
   delete ps;                                     //delete  char*和int 的8个字节,函数在这里是不开创空间的
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值