この問題の明確な解決策が見つかりませんでした。
と の 2 つのクラスがPoint
ありVector
ます。Vector
の子ですPoint
class のメソッドの 1 つで、 classPoint
のオブジェクトを使用したいと考えていますVector
。私はこのようにします:
class Point
{
double x, y, z;
public:
// constructor from 3 values
Point(double x, double y, double z)
: x(x), y(y), z(z)
{}
// method move point
Point move(Vector vect, double dist)
{
Vector vectU = vect.unit();
return sum(vectU.multiplyScalar(dist));
}
};
class Vector: public Point
{
double x, y, z;
public:
// constructor from 3 values
Vector(double x, double y, double z)
: Point(x, y, z), x(x), y(y), z(z)
{}
// create unit vector
Vector unit()
{
double len = length();
return Vector(x / len, y / len, z / len);
}
};
これをコンパイルすると、行にエラーが表示されますPoint move(Vector vect, double dist)
"Vector" has not been declared
。このエラーに対する有用な答えが見つかりません。この初期化を行うにはどうすればよいですか?