Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 创建;功能链“;(用于配置类)_C++ - Fatal编程技术网

C++ 创建;功能链“;(用于配置类)

C++ 创建;功能链“;(用于配置类),c++,C++,我有一个类,它包含我拥有的另一个类的配置。我想做一些类似的东西: Configuraion config; config = config.configData1(3) .configData2(2) .configData3(4); class Configuration { public: Configuration() { loc_configData1 = 0; loc_configData2 = 0;

我有一个类,它包含我拥有的另一个类的配置。我想做一些类似的东西:

Configuraion config;
config = config.configData1(3)
        .configData2(2)
        .configData3(4);
class Configuration
{
public:
    Configuration()
    {
        loc_configData1 = 0;
        loc_configData2 = 0;
        loc_configData3 = 0;
    }

    const Configuration& configData1(int n)
    {
        loc_configData1 = n;
        return *this;
    }

    const Configuration& configData2(int n = 1)
    {
        loc_configData2 = n;
        return *this;
    }

    const Configuration& configData3(int n = 6)
    {
        loc_configData3 = n;
        return *this;
    }

private:
    int loc_configData1;
    int loc_configData2;
    int loc_configData3;
}
<>我已经在java中看到了,我想知道C++中是否以及如何可能。 我的配置类与此类似:

Configuraion config;
config = config.configData1(3)
        .configData2(2)
        .configData3(4);
class Configuration
{
public:
    Configuration()
    {
        loc_configData1 = 0;
        loc_configData2 = 0;
        loc_configData3 = 0;
    }

    const Configuration& configData1(int n)
    {
        loc_configData1 = n;
        return *this;
    }

    const Configuration& configData2(int n = 1)
    {
        loc_configData2 = n;
        return *this;
    }

    const Configuration& configData3(int n = 6)
    {
        loc_configData3 = n;
        return *this;
    }

private:
    int loc_configData1;
    int loc_configData2;
    int loc_configData3;
}

如果您没有返回
const
,那么这是可能的。谢谢,这确实有效!我个人非常不喜欢,但这可能是你想要的