c++ - 请描述构造函数在 C++ 中的此类中定义的方式?
问题描述
: e(data)
下面的代码中做了什么?为什么下面the curly brackets
{ }
的代码是空的?类的常量成员也可以这样初始化吗?这种定义是特定于构造函数还是可以应用于 C++ 中的所有函数?
class binaryfile
{
private:
const entry &e;
public:
binaryfile(const entry &data) : e(data){}
ostream& write(ostream &o)
{
o<<e.b_write();
}
}
解决方案
binaryfile(const entry &data) : e(data){}
定义一个构造函数,它接受一个参数并将成员变量初始化e
为该参数的值。大括号是空的,因为构造函数什么也不做。
它被称为成员初始值设定项列表,它仅在构造函数中有效。
推荐阅读
- php - 警告:require_once(Composer/PHPMailer/vendor/phpmailer/phpmailer/src/autoload.php):无法打开流:没有这样的文件或目录
- opencv - 如何在 OpenCV 中获取 gabor 核矩阵的实部和虚部
- typescript - VSCode 材质主题与内置 TypeScript 和 JavaScript 语言功能冲突
- css - 我怎样才能有两个固定宽度的列和两个均匀分布的灵活列
- xpath - XPath 1.0 用于查找名称基于属性但具有后缀的属性节点的兄弟节点
- linux - Nginx 反向代理显示默认页面而不是远程主页
- node.js - 取消意图不暂停/退出
- javascript - 如何在 React 中使表格的每一行都可点击?
- node.js - 在服务器上从文件或从 Mongodb 记录加载 HTML 模板效率更高吗?
- streamsets - Hive 数据库的多个来源