C++学习4构造函数和new delete

C++注意:本笔记来自网易云课堂学习

构造函数 constructor

没有返回类型,名称和类的名称相同

Class X

{

Public:

X()

 

}

 

构造函数可以有参数

Class Tree

{

 

}

Tree(int a)

Tree t(12)

 

析构函数

~Tree(),在对象结束之前会调用析构函数

 

goto:jump;

X a;

Jump:

这样是错误的,因为jump跳过了初始化,但是会调用析构函数,但是没有构造函数是没法析构的,所以编译会报错。

 

Default constructor是没有参数的构造函数 ,不给参数的时候默认使用default constructor

有参数的构造函数不是default constructor

 

 

New(new类的时候会调用构造函数) 

Delete

 

Delete

Delete[ ] p(new有【】delete也有【】)

 

int *p= New int [10] 开辟是10个int空间给p指针

delete[] p 方括号告诉程序p指的方向有多个东西,不带方括号只会析构一个对象。

 

eg:

int *p=new int;

int *a=new int [10];

student *q=new student();

student *r=new student(10);

delete p;

delete[] a;

delete q;

delete r(只会析构一个,但是空间都收回了,会有错误);

delete[] r;

如果new了但是没有delete那么会有内存泄漏,程序一直在跑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值