【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 @   NotReferenced  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2023-08-08 【GTK】在Windows下安装GTK
点击右上角即可分享
微信分享提示