公共双人成员与双人和双人访问器

时间:2012-08-21 11:58:41

标签: c++ reference private-members

我有一些我想要修改的遗留代码。在A类中,我想添加一些成员(比方说10)并允许访问类似于以前的成员。

 class A
 {
 protected:
      double m_dmember1;
      double m_dmember2;
      double m_dmember3;

 public:
      double& Member1() { return m_dmember1; }
      double& Member2() { return m_dmember2; }
      double& Member3() { return m_dmember3; }

      A();
 }

这样就增加了10个成员和10个访问者。这看起来多余。

我不确切地知道为什么之前的开发人员使用了对其访问器的双引用。看起来他想要一种只使用简单名称访问成员的方法(我猜想与C#属性类似)。

那么,我应该简化A类或者这是一个坏主意吗?

 class A
 {
 public:
      double Member1;
      double Member2;
      double Member3;

      A();
 }

然后在数组中使用类A的实例,那么可能会使用引用来节省内存吗?

1 个答案:

答案 0 :(得分:2)

从设计的角度来看,它们是相同的 - 它们都破坏了封装。

拥有访问器使调试更容易,我会保留代码。

  

我不确切地知道为什么之前的开发人员使用了对其访问器的双引用。

因为引用会让您更改成员的值。他避免使用两种方法(getset)而是制作一种方法。

  

然后在数组中使用类A的实例,那么可能会使用引用来节省内存吗?

不,因为引用是返回类型。它们根本不会影响内存占用。