c++const成员函数

2014-11-12 22:15:14 · 作者: · 浏览: 35

  一些成员函数改变对象,一些成员函数不改变对象。


  例如:


  int Point::GetY()


  {


  return yVal;


  }


  这个函数被调用时,不改变Point对象,而下面的函数改变Point对象:


  void Point:: SetPt (int x, int y)


  {


  xVal=x;


  yVal=y;


  }


  为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明:


  class Point


  {


  public:


  int GetX() const;


  int GetY() const;


  void SetPt (int, int);


  void OffsetPt (int, int);


  private:


  int xVal, yVal;


  };


  const成员函数应该在函数原型说明和函数定义中都增加const限定:


  int Point::GetY() const


  {


  return yVal;


  }


  class Set {


  public:


  Set (void){ card = 0; }


  bool Member(const int) const;


  void AddElem(const int);


  //...


  };