【C++】构造函数类别

1、默认构造函数

形式:没有入参

调用方式:直接定义

声明:
Constructor();

调用:
Constructor c;

2、初始化构造函数

形式:有参数列表

调用方式:传参即可

声明:
Constructor(int a, int b);

调用:
Constructor c(1,2);

3、拷贝构造函数

形式:参数为变量常引用

调用方式:当使用现有对象初始化新对象时,拷贝构造函数被调用,可以理解为是一个特殊的转换构造函数,函数传参、赋值时会被隐式调用。

声明
Constructor(const Constructor& c);

调用:
Constructor c1 = c;
f(c);

4、移动构造函数

形式:参数为右值引用

调用方式:当使用右值初始化的时候,就是使用移动构造函数。

声明:
Constructor(Constructor&& c);

调用:
Constructor c(move(Constructor()));

5、委托构造函数

形式:初始化列表式其他构造函数

调用方式:正常调用即可

定义:
Constructor c(int a, int b): Construtor() {}

6、转换构造函数

形式:参数列表有且仅有一个参数,拷贝构造函数和移动构造函数都是特殊的转换构造函数

调用方式:用其他变量初始化时

声明:
Constructor(int a);

调用:
Constructor b = 3;
posted @ 2024-08-08 23:46  NotReferenced  阅读(20)  评论(0)    收藏  举报