构造和析构函数

本文详细讲解了构造函数的作用,包括缺省构造函数、带参数的构造函数和初始化列表的使用,以及析构函数在对象生命周期中的自动调用。重点介绍了如何通过构造函数初始化数据成员,并阐述了为何默认构造函数在类定义中不可或缺。

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

1. 概念

数据成员多为私有的,要对它们进行初始化,必须用一个公有函数来进行,这个函数在生成对象的时候会仅自动执行一次;

2. 构造函数

  • 类名();

定义的时候,如果函数写在c文件中,而声明写在类的定义中,那么定义构造函数的时候要写上域名限定符类名::类名()

2.1 缺省的构造函数

  • 如果在定义类的时候没有写一个构造函数的话,会默认的把数值赋0;
  • 如果定义了其他构造函数,但是没有再写一个缺省构造函数的时候,如果再创建对象但不传参数的话就会报错;
类名 ();//缺省函数的声明

2.2 带参数的构造函数

类名 (参数);//如果参数和数据重名的时候,可以用this指针指向私有变量

2.3 使用初始化列表

类名::类名(double len): length(len)//等同于在函数里面给数据赋值
{
   ....
}

3. 析构函数

  • 函数名:~类名
  • 参数: 没有形参
  • 调用的位置:在局部对象释放的时候会自动调用析构函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值