在看到我的一个类变得太大后,我决定将其输入处理分离到另一个类中。但是,为了使输入真正对对象执行任何操作,它需要访问其私有(private)成员。
我显然可以在输入类可以使用的主类中提供公共(public)函数,但是既然在这里耦合是自然的,那么让它成为一个 friend 是否合适?还是我错过了一些适合这里的模式?
最佳答案
您的问题没有确定的答案;老实说,这真的是品味问题。听起来在这里使用 friend
关键字很好,如果这两个类在逻辑上是耦合的,特别是如果没有其他类需要访问您所指的私有(private)成员变量。另一种选择是使输入处理类成为主类中的嵌套类。然后它会自动访问私有(private)成员变量,更加强调两个类的逻辑耦合。
但这是一个主观判断电话;无论您认为使您的代码更易读、更易于访问和更易于维护的方法都是正确的答案。
关于c++ - 输入类——适当使用的 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801046/