Вопрос про классы c++

Всем привет. При написании класса вектора появились вопросы: 1.Как сделать так чтобы классу можно было присваивать значения даже после инициализации, пример:

Vector2 vect2(120, 5);
vect2(120, 5); или vect2 = 120,5

2.Как сделать так чтобы можно было использовать класс за 2-3 переменные сразу пример:

obj.Position(120, 5); // как должно выглядеть

Vector2(120, 5);
obj.Position(Vector2);// про, что я говорил

Код класса: (Vector2.h)

#pragma once

class Vector2
{
public:
    Vector2(int x, int y);
    int GetVector2();
    int X;
    int Y;
};

Vector2.cpp

#include "Vector2.h"

Vector2::Vector2(int x, int y)
{
    X = x;
    Y = y;
}

int Vector2::GetVector2()
{
    return X, Y;
}

Ответы (1 шт):

Автор решения: Harry
  1. Например, vect2 = Vector2(120,5); — если, конечно, конструктор и оператор присвоения написаны корректно. В вашем случае используется оператор, сгенерированный компилятором, но для данной операции его достаточно.

  2. Написать свою функцию, принимающую вектор. Или передавать значения из вектора как отдельные аргументы (типа, Vector2 v(120, 5); obj.Position(v.X, v.Y);)

Замечу вскользь, что код

int Vector2::GetVector2()
{
    return X, Y;
}

возвращает только одно значение — Y (см. "оператор "запятая"").

→ Ссылка