c++ - 输入类——适当使用的 friend ?

标签 c++

在看到我的一个类变得太大后,我决定将其输入处理分离到另一个类中。但是,为了使输入真正对对象执行任何操作,它需要访问其私有(private)成员。

我显然可以在输入类可以使用的主类中提供公共(public)函数,但是既然在这里耦合是自然的,那么让它成为一个 friend 是否合适?还是我错过了一些适合这里的模式?

最佳答案

您的问题没有确定的答案;老实说,这真的是品味问题。听起来在这里使用 friend 关键字很好,如果这两个类在逻辑上是耦合的,特别是如果没有其他类需要访问您所指的私有(private)成员变量。另一种选择是使输入处理类成为主类中的嵌套类。然后它会自动访问私有(private)成员变量,更加强调两个类的逻辑耦合。

但这是一个主观判断电话;无论您认为使您的代码更易读、更易于访问和更易于维护的方法都是正确的答案。

关于c++ - 输入类——适当使用的 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801046/

相关文章:

c++ - 我可以用 new 分配一 block 内存吗?

c++ - 操作系统编译时间

c++ - 位掩码和长长

c++ - 如何在 std::map 中添加对 vector 作为值?

c++ - 共享指针不增加 use_count

c++ - C++中的引用速度

c++ - C++中的运算符==顺序

c++ - Mat 类 opencv 中的 begin() 方法声明

c++ - 仅当 .h 位于特定目录中时,g++ 才会神秘地失败

c++ - 将 uint16_t * 数组转换为 std::vector