Одна проблема связана с вашим ReadPoint
с типом возврата Point
, но вы возвращаете экземпляр MathVector
. Кроме того, вы читаете входные данные в переменные, которые в конечном итоге игнорируются.
Вы должны написать ReadPoint
как:
Point ReadPoint()
{
Point p;
cout << "Please input the x-coordinate: " << endl;
cin >> p.x;
cout << "Please input the y-coordinate: " << endl;
cin >> p.y;
cout << "Please input the z-coordinate: " << endl;
cin >> p.z;
return p;
}
Или немного лучшая версия:
Point ReadPoint()
{
Point p;
cout << "Please enter point-coordinate : " << endl;
cin >> p.x >> p.y >> p.z; //example input : 1 2 3
return p;
}
Или, еще лучше, перегрузить >>
оператор как:
std::istream & operator>>(std::istream & in, Point & p)
{
cout << "Please enter point-coordinate : " << endl;
return cin >> p.x >> p.y >> p.z; //example input : 1 2 3
}
//Use this as
Point pointA, pointB;
cin >> pointA >> pointB;
Теперь прочитайте хорошую книгу по C ++. Если вы уже читаете один, то убедитесь, что это действительно хорошо. Вот список действительно хороших книг по C ++ всех уровней: