![](/img/trans.png)
[英]How do I access a static member of class inside an inner class?
[英]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.