у меня 2 класса Point
и Vector
.
Я читаю входные данные из файла, который содержит некоторые точки, и я должен построить несколько векторов из этих точек.
Например, первые 3 строки моего файла следующие:
0.0 0.0 50.0 // point a
0.0 0.0 0.0 // point b
0.0 1.0 0.0 // point c
Я занимаюсь разбором ввода в другом классе с именем Stages
, который в настоящее время выглядит следующим образом:
class Stages{
int fileLineNumber;
Point eyePoint,lookPoint,upPoint;
Vector eye,look,up;
void parseInput(){
// parse the 3 points here
}
// ....
Теперь я хочу построить векторы как eye = point b - point a
и так далее. Я написал соответствующий конструктор внутри класса Vector
:
Vector(Point p1,Point p2){
Point diff = p2 - p1;
x = diff.x;
y = diff.y;
z = diff.z;
}
У меня вопрос, поскольку я уже объявил 3 вектора внутри класса Stages
, как я могу вызвать конструктор Vector
после того, как проанализировал точки? Я могу обойти это, написав функцию внутри класса Vector
, которая устанавливает координаты вектора, или создав временный объект Vector
внутри функции parseInput()
и присвоив его соответствующим векторам. Но я заинтересован в использовании конструктора. Можно ли использовать конструктор после того, как переменная уже объявлена?