連投でスイマセン。(長くなるので#include、#ifndef等は省略)

(Point.h)
class Point
{
private:
Point()
{
x = 100;
}
public:
int GetX(); //xの値を返す
};

(TwoPoint.h)
class TwoPoint : public Point { ...};

(TwoPoint.cpp)
x = Point::GetX();

(Main.cpp)
int main(int argc, char *argv[]) {
Point p;
TwoPoint tp;
p.時間経過でxが移動、pとtpを描画();   //ループ
return 0;
}

こんなコードで、Pointクラスのxが時間経過などで移動したとき、
TwoPointクラスのPoint::GetX():で、xの値がなぜか100(コンストラクタの時の値)になってしまいます。
最新のxの値をTwoPointクラスが受け取るにはどうすればいいんでしょう?