C++_构造析构函数

构造函数(构造器)

作用:

  • 给类中的成员初始化

说明:

  • 构造函数的函数名与类名相同

  • 可以有参数,但是没有返回值类型

  • 可以重载,可以缺省

  • 没有返回值类型,但是有参数

  • 定义对象的时候自动调用,且一生中只调用一次构造

  • 给成员赋初值的操作还可以直接在类函数头进行(见代码)

  • const int x; 等价于 int const x;

初始化形参列表:

  • 格式:类名::类名():成员变量1(),成员变量2(){}

关于构造的显示调用和隐式调用

显示调用格式:

  • 类名::自定义类名(参数);

隐式调用格式:

  • 类名::自定义类名 = 参数;

析构函数

格式:~类名();
作用: 回收对象(类中成员)申请的内存
说明:

  • 没有参数也没有返回值类型

  • 一个类中只允许存在一个析构函数

  • 只有在对象死亡的时候才会自动调用

补充:

  • {}——作用域,在{}里定义的变量,出了{}就会自动回收

  • 类在内存中存放在栈区,在程序运行结束的时候,类所占内存会自动回收

  • new-delete申请内存的方式会执行构造析构函数,而malloc-free方式不会调用

  • delete 只调用一次析构函数 delete[]调用多次析构函数

代码实例

头文件

#pragma once
class str
{
   
private:
 	char* st;
public:
 	str();
 	~str();
};

.cpp文件

#include "str.h"
str::str()
{
   
 	st
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值