【发布时间】:2019-07-19 09:04:42
【问题描述】:
我的班级有很多私人成员。我已经定义了用于设置和获取它们的值的公共函数。由于对于这些私有成员中的每一个,我都定义了一组 set/get 函数,因此我的代码变得太忙了。我相信应该有一种更聪明的方式来处理这种情况,有什么想法吗?
【问题讨论】:
-
公开成员变量?
-
@Quentin 首先,这是一个好习惯吗?如果是,在什么情况下。其次,每次获取/设置参数时,我都必须进行一些值检查
-
@JalilNourisa 好的做法是设计类,使其他类不需要访问私有成员。如果另一个类需要访问一个类的私有内容,那么责任就放错了。也许方法应该被移动或者其他的东西应该被重构。如果您发现自己处于需要 getter 和 setter 并且设计无法更改的地方,请不要撒谎 - 成员根本不是私有的,因为您有一个 getter 和 setter。让它
public. -
“我的想法是定义一个枚举,为每个参数定义一个索引”这是一个非常糟糕的想法。
-
IMO,这个问题太宽泛了。关于如何正确设计课程的书籍已经写成,单一的 SO 答案无法给出明确的答案。
标签: c++ private-members