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

Passing many variables from a function in one class to a function in another class

本文关键字:函数 另一个 一个 变量 许多      更新时间:2023-10-16

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

Board类中有许多变量,我想将它们传递给Evaluation类中的函数。此类评估董事会的职位并返回一个数字。我想把我所有的黑板都传给这个班。它们的数量在15个左右,甚至可能还会增加。

我将在Board类中创建Evaluation类的对象,并从Board类调用boardEvaluation函数。正是为了这个功能,我想通过这些位板。

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

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

创建另一个类BoardData并在BoardEvaluation中使用它。BoardData的职责是存储您的15个变量,并可能对它们提供一些基本操作。通过这种方式,您的设计将在没有电路依赖性的情况下得到简化。

以下是步骤:

  1. boardEvaluation函数的参数可以是Board*
  2. 函数是Board类的friend
  3. 然后在Evaluation.h头文件中转发声明Board
  4. 在函数中直接使用Board类的15个私有成员变量

话虽如此,当设计到了要使用friend的地步时,您可能需要重新考虑您的原始设计以及两个类之间的关系。在您的情况下,如果可能的话,您可能需要将boardEvaluation移到Board类。