将许多变量从一个类中的函数传递到另一个类中的函数

时间:2014-10-20 09:52:10

标签: c++

我正在使用位板创建一个国际象棋引擎,我有两个类:class Boardclass Evaluation

Board类中有许多变量要传递给Evaluation类中的函数。该课程评估理事会的职位并返回一个数字。我想将所有的位板传递给这个课程。它们的数量大约为15,甚至可能会增加。

我将在Evaluation类中创建Board类的对象,并从Board类创建我将调用boardEvaluation函数的对象。我希望通过这个功能来传递这个功能。

这样做的一种方法是在我想要传递变量的函数中简单地接受15个参数。但是,我不想使用这种方法,因为它听起来不吸引人。

还有其他方法可以将这么多变量从一个类传递到另一个类中的函数吗?

2 个答案:

答案 0 :(得分:3)

创建另一个类BoardData并在BoardEvaluation中使用它。 BoardData的责任在于存储您的15个变量 - 并且可能会对它们提供一些基本操作。通过这种方式,您的设计将得到简化,而不会出现循环依赖性。

答案 1 :(得分:1)

以下是步骤:

  1. boardEvaluation函数可以Board*作为其参数
  2. friend类的Board函数。
  3. 然后在Evaluation.h头文件中向前声明Board
  4. 直接在函数中使用Board类的15个私有成员变量。
  5. 话虽如此,当设计到达即将使用friend时,您可能需要重新考虑原始设计和两个类之间的关系。 在您的情况下,如果可能,您可能需要将boardEvaluation移至Board课程。