C++笔记----构造函数与析构函数(二)

     构造函数是一种特殊的成员函数。在创建对象的时候自动调用,对对象的数据成员进行初始化。

     (1)栈区中创建的对象,在生存期结束的时候会自动调用析构函数。

     (2) 在堆上创建的对象,要由程序员显示调用delete释放该对象,同时调用析构造函数。

     (3)全局对象的构造先于main函数。全局对象在其生存期结束的时候也会自动调用析构造函数,对对象进行释放。

     构造函数的作用:初始化、类型转化(转换构造函数)

1、转换构造函数

定义:转换构造函数是单个参数的构造函数

作用:将其他类型转换成类类型

     类的构造函数只有一个参数是非常危险的,因为编译器可以使用这种构造函数把参数的类型隐式转换为类类型

带一个参数的构造函数有:

普通构造函数

转换构造函数(初始化、类型转化)

2、赋值与初始化区别

在初始化语句中的等号不是运算符。编译器对这种表示方法有特殊的解释

赋值    Test& Test::operator=(const Test& other);

3.explicit

只提供给类的构造函数使用的关键字

编译器不会把声明为explicit的构造函数用于隐式转换,它只能在程序代码中显示创建对象

原文地址:https://www.cnblogs.com/xiaotongtt/p/6119916.html