class Point
{
private:
int X, Y;
public:
static const Point Origin;
static const Point OneZero;
static const Point ZeroOne;
};
ポイント Origin にアクセスするにはどうすればよいですか?
静的な場合は、次のように記述します。
Point::Origin
またはより完全な例:
namespace Someplace {
int fun() {
return Point::Origin.X;
}
}
クラスのスコープ内では修飾Point::
は必要ありませんが、単純にOrigin
.
次のように、アクセサー (「ゲッター」) をクラスに追加します。
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();
};