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

标签 c++ finance oop

我必须编写一些财务应用程序,我必须在其中表示流程表。流可以是 3 种类型:

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

我需要保留全部信息,并且需要表示这些流程的时间表。 本来想用继承,创建三个类FeeFlow , FloatingFlow , FixedFlow全部继承自 ICashFlow并实现一些方法 GetFlowType()返回一个枚举然后我可以 dynamic_cast对象到正确的类型。

那将允许我只有一个 vector<IFlow>代表我的日程安排。

您如何看待这个设计,我是否应该使用三个 vector vector<FeeFlow> , vector<FloatingFlow>vector<FixedFlow>避免动态转换?

最佳答案

为什么您实际上需要动态转换?让您的流子类以多态方式实现相同的接口(interface),那么就不需要强制转换任何东西。

如果他们需要非常不同的输入,您可以尝试将不同的输入作为构造函数参数传递,从而清理公共(public)接口(interface)。然而,如果你真的不能为它们定义一个公共(public)接口(interface),也许它们作为独立的类来实现会更好。

关于c++ - 现金流的财务建模中的继承与特定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988628/

相关文章:

c++ - Windows中如何获取当前进程的所有子进程的句柄?

c++ - 我的复制构造函数导致使用我的类的方法失败。有人可以看一下并告诉我我做错了什么吗?

java - 你在哪里初始化你的对象?

c++ - 计算固定数组中元素的数量(类似于 sizeof)

c++ - 从用类方法编写的 lambda 函数访问类字段

c++ - 如何在成员函数内创建一个优雅的 C++ for_each() ,其中操作函数是同一类中的另一个成员函数?

python - 如何根据 pandas 中的标签仅选择某些行?

r - quantmod::chart_Series() 错误?

database - 我如何为预算应用程序建模预算数据?

javascript - JS中的树状数据结构允许最快的节点查找?