没有合适的资源?快使用搜索试试~ 我知道了~
ZJDoc#VisionGuide#构造器概述1
需积分: 0 0 下载量 141 浏览量
2022-07-25
14:33:01
上传
评论
收藏 5KB MD 举报
温馨提示
试读
这些对象在构造器完成后成为const(举例)在源文件中定义构造器,给它一个与任何其他成员函数一样的限定名,比如Box::Box(){...}当声明类实例时,编译
资源推荐
资源详情
资源评论
# 构造器概述
构造函数(`constructor`)用于自定义如何初始化类成员,或在创建类的对象时调用函数。构造函数与类同名,没有返回值。可以根据需要定义任意多个重载构造函数,以各种方式自定义初始化。通常定义构造函数访问权限为`public`,以便类定义或继承层次结构之外的代码可以创建类对象。但也可以将构造函数声明为`protected`或`private`
* 构造器可以声明为`inline、explicit、friend`或`constexpr`
* 构造器可以初始化声明为`const/volatile/const volatile`的对象。这些对象在构造器完成后成为`const`(举例)
* 在源文件中定义构造器,给它一个与任何其他成员函数一样的限定名,比如`Box::Box(){...}`
当声明类实例时,编译器根据重载解析规则(`the rules of overload resolution`)选择要调用的构造函数
```
int main()
{
Box b; // Calls Box()
// Using uniform initialization (preferred):
Box b2 {5}; // Calls Box(int)
Box b3 {5, 8, 12}; // Calls Box(int, int, int)
// Using function-style notation:
Box b4(2, 4, 6); // Calls Box(int, int, int)
}
```
## 成员初始化列表
构造函数可以设置成员初始化列表(`member initializer list`),在执行构造函数体之前初始化类成员,这是一种更有效的初始化类成员的方法
```
class Box {
public:
Box(int width, int height, int length) : m_width(width), m_height(height) {
this->m_length = length;
}
private:
int m_width;
int m_height;
int m_length;
};
```
**注意:`const`和引用类型成员必
点击阅读更多
资源评论
设计师马丁
- 粉丝: 18
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功