现金流的财务建模中的继承与特定类型

Blu*_*rin 2 c++ oop finance

我必须编写一些财务应用程序,我必须代表流程表.流程可以有3种类型:

  • 费用流量(在某个日期只是一次性付款)
  • 浮动利率流量(流量取决于以后确定的利率)
  • 固定利率流量(流量取决于交易完成时确定的利率)

我需要保留所有信息,我需要代表这些流程的时间表.本来我想用继承和创建三个类FeeFlow,FloatingFlow,FixedFlow所有继承ICashFlow并实现一些方法GetFlowType()返回一个枚举,然后我可以dynamic_cast将对象为正确的类型.

那将使我只有一个vector<IFlow>代表我的日程安排.

你怎么看待这个设计,我应该使用三个向量vector<FeeFlow>,vector<FloatingFlow>vector<FixedFlow>避免动态转换?

Pét*_*rök 8

为什么你真的需要动态演员?使您的流子类以多态方式实现相同的接口,然后不需要转换任何东西.

如果它们需要非常不同的输入,您可以尝试将不同的输入作为构造函数参数传递,从而清除公共接口.但是,如果您真的无法为它们定义公共接口,那么它们可能更好地实现为独立类.