简单c ++项目的概念,包含2个类,用于输入和计算结果

时间:2015-05-08 06:47:13

标签: c++ class concept

有没有人可以给我一些关于规划我的c ++项目概念的基本想法?

我有一个带有2行编辑的GUI,一个按钮和一个结果字段。 (后来我想对输入和结果进行很多行编辑,但是现在我想保持简单) 我的想法是将所有输入数据组合到一个新类(类INPUT)中。为了得到结果,我想将所有结果数据组合在另一个类(类RESULT)中。为了计算结果,我想创建一个方法(类似 RESULT sum(INPUT in))。 我不想只在一个类中完成所有这些,我需要输入和结果类,因为我将在最终版本中拥有许多数据字段

这是一个好主意吗? 如果是这样,我会在哪里编写计算方法(sum())?在INPUT类中,RESULT类还是main.cpp?

1 个答案:

答案 0 :(得分:0)

通常,如果你有这种输入/输出(或结果)设计,你需要一些第三个实体:evaluator/operator类型的东西,你输入输入并得到输出结果。

因此,如果你想要灵活性,我会把它看作三个实体,而不是两个:

  1. input封装用户输入。
  2. evaluator/operator接受输入并输出result
  3. result封装运算符的计算结果。
  4. 这将为您提供三个独立的实体:一个专注于计算,另外两个实体来处理代表数据。

    这对于节点设计也很常见,如下所示:

    enter image description here

    这是一个非常灵活的设计,但建议多个相对简单的evaluators采用多个简单的输入和输出。

    如果您只需要一个复杂的求值器和一个复杂的字符串输入和输出,那么在您的情况下可能会有些过分。但我仍然坚持这种3实体/界面分离,以减少整体/繁琐的设计和明确的职责分离。