创建"功能链" (用于配置类)

时间:2017-03-23 13:04:07

标签: c++

我有一个类,其中包含我所拥有的不同类的配置。我想做一些类似的事情:

Configuraion config;
config = config.configData1(3)
        .configData2(2)
        .configData3(4);

我已经在Java中看到过,我想知道C ++中是否可以以及如何实现这一点。

我的配置类看起来类似于:

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;
}

0 个答案:

没有答案