0

我正在编写一个类来表示要在投资组合选择器中使用的证券池。根据客观度量和约束,类对象将缓存一些相关数据以进行性能优化。

这可以通过定义一个包含公共元素及其子类的基类来完成,每个元素都针对特定的客观度量/约束进行了优化。

但是,我希望能够缓存多个指标的数据。有没有标准/简洁的方法来做到这一点?

编辑:

class Pool {
    // Contains data for different financial securities
}

class PercentileLossPool : public Pool {
    // Contains data which makes calculating percentiles easy
}

class AvgProfitPool : public Pool {
    // Contains data which makes calculating averages easy
}

此类结构可以针对特定指标(百分位、平均值)优化对象

我想要构建的是一个针对多个指标进行优化的对象,而不需要为所有排列编写代码

4

1 回答 1

1

您可以考虑通过继承向您的类添加数据来反转关系:

class PoolBase {
     // Contains data for different financial securities
};

class PercentileLossData {
    // Contains data which makes calculating percentiles easy
};

class AvgProfitData {
     // Contains data which makes calculating averages easy
};

template< typename... Ts >
class Pool : public PoolBase, Ts...
{
};

typedef Pool< PercentileLossData, AvgProfitData > MyPool1;

但是,如果没有关于具体问题的更多信息,您将很难给出有效的建议。因此,将上述内容作为一个想法,但请注意,根据您的用例,还有多种其他选项。

于 2013-03-06T12:53:52.713 回答