构造、析构、对象与继承

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{


};//定义方式



你可能感兴趣的:(C/C++学习笔记)