构造、析构、对象与继承

C++学习笔记之二

上一节讲到了构造函数,这一节继续讲解。

1)构造函数可以被重载,如:

Object(){

this->object=5;

}

Object(int object){

this->object=object;

}

//这两个函数是具有相同的函数名,而参数个数或参数类型不同,这就是重载。

2)析构函数

特点:没有返回值,以‘~’打头,且函数在对象销毁时调用(即作用域结束时被调用)//出了作用域即被调用。

全局变量的生命周期在函数结束时仍被调用。

没写构造时系统自动添加构造与析构函数。

对象的析构与构造调用时,其成员的析构与构造也被调用;先调用成员,后释放成员。

成员与对象:成员先调用构造,而析构后调用。


3)基本类型的初始化:

Object():x(1),y(2){}


4)动态创建对象

new/delete代替malloc 与free

优点:

(1)返回值是指针,不需要强制类型转化。

(2)创建对象时可以为其初始化:int *p=new int(5);//初始化为5;delete p;


int* p=new int [5];//开辟了5个int单元,delete []p;

删除后指针置为空,以免误传;


new与delete的作用:

new:先申请一块内存,后调用构造函数

delete:先调用析构,后释放内存。

malloc 得到的是内存而非对象。

注:new多个对象时必须有默认构造函数。

5)继承

class A:public B{


};//定义方式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值