搜索
写经验 领红包

构造函数和析构函数的用法(构造函数和析构函数的主要作用是什么)

导语:构造函数和析构函数(c++基础语法七)

构造函数和析构函数的用法(构造函数和析构函数的主要作用是什么?)

构造函数的定义

c++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数。

class 类名 {    类名(形参){       构造体    }}

构造函数的功能就是在对象被创建的时候,用来初始化对象的函数。

析构函数的定义

析构函数与构造函数的作用正好相反,用来完成对象删除前的一些清理工作,在对象即将被删除前自动调用的,也就是说在一个对象临死之前,会自动调用析构函数。析构函数使用完,对象用掉的内存空间就被释放回来了。

构造函数和析构函数都没有返回值。

析构函数没有形参。

默认的无参构造函数和析构函数

如果一个类里面什么都不写,那么也会有一个默认的无参构造函数和析构函数:

class Test {public:    Test() { //默认的无参构造函数    }    ~Test() { //默认的析构函数    }};

如果你显示的提供一个构造函数或者析构函数,那么默认的构造函数和析构函数将不复存在。

拷贝构造函数

由已经存在的对象来创建新对象,也就是说对象不是由构造器来构造,而是由拷贝构造器来完成。拷贝构造的格式:

class 类名{    类名(const 类名 & another)    {        拷贝构造体    }}

注意:

Test t2(t1);  //拷贝构造Test t3 = t1;  //依然是初始化t3的时候调用t3的构造函数。和Test t2(t1);等价Test t3;t3 = t1;  //此处调用的不是t3的拷贝构造函数,构造函数只有在对象初始化的时候调用,这里调用的是t3的赋值操作符函数

申明:本文章记录学习笔记,分享给大家一起学习,有不正确的地方欢迎大家指出。如有侵权,马上删除。

本文内容由小琪整理编辑!