簡體   English   中英

我如何訪問靜態類成員?

[英]How can i access a static class member?

class Point
{
  private:
    int X, Y;  
  public:
    static const Point Origin;
    static const Point OneZero;
    static const Point ZeroOne;
};

我怎樣才能獲得原點?

對於靜態,寫:

Point::Origin

或者更完整的例子:

namespace Someplace {
int fun() {
  return Point::Origin.X;
}
}

雖然在類的范圍內不需要限定Point::你可以簡單地寫Origin

在您的類中添加訪問器(“getters”),如下所示:

class Point
{
  private:
    int X, Y;  
  public:
    static const Point Origin;
    static const Point OneZero;
    static const Point ZeroOne;

    int getX() {return X;}
    int getY() {return Y;}
};

然后你可以像這樣訪問Point的內容:

int originX = Origin.getX();

或者像這樣:

Point myPoint;
int pointX = myPoint.getX();

另外,令人困惑的是Point類中有Point類的靜態實例。 以下可能更符合您的要求:

class Point
{
  public:
    // Added a constructor that takes two arguments
    Point(int pointX, int pointY) {X = pointX; Y = pointY;}

    int getX() {return X;}
    int getY() {return Y;}
  private:
    int X, Y;  
};

int main()
{
  const Point Origin(0,0);
  const Point OneZero(1,0);
  const Point ZeroOne(0,1);

  int originX = Origin.getX();
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM