c++ get的应用

xxdd 发布于 2015/01/13 11:41
阅读 208
收藏 0
class A
{
   private: 
       int m_nX;
   public:
       int GetX()
          {
              return m_nX;
          }
  
       void GetX(int &nX)
          {
               nX = m_nX;
          }
}
//两种获取变量的方法,哪个好?为什么?谢谢。




加载中
0
公孙二狗
公孙二狗
个人喜欢第一种
0
Karblue
Karblue
同第一种
0
Windoze
Windoze

就你这段代码而言,你还不如直接把m_nX设为public

写这种东西之前你要问问自己为什么需要getter/setter,仅仅是为了隐藏一个成员变量不是个合格的理由。

Windoze
Windoze
回复 @Windoze : 你自己不踩几遍坑怎么知道什么时候改用什么时候不该用?
xxdd
xxdd
Windoze
Windoze
回复 @xxdd : 一般要等到你踩了坑之后
xxdd
xxdd
您好,一般情况下,在c++中,什么时候用getter/setter会好一点儿?谢谢。
0
C
C00king

这个要看语意

int GetX() 表示返回值可以丢弃

void GetX(int &nX) 表示返回值不能丢弃

一般来说不会强制返回值是否丢弃。

另外如果考虑使用的便利

if(o.getX())

o.getX().doSmth()

o.getX() + xx

返回顶部
顶部