首页 > 解决方案 > 请描述构造函数在 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();
        }
}

标签: c++functionconstructor

解决方案


binaryfile(const entry &data) : e(data){}

定义一个构造函数,它接受一个参数并将成员变量初始化e为该参数的值。大括号是空的,因为构造函数什么也不做。

它被称为成员初始值设定项列表,它仅在构造函数中有效。


推荐阅读