Вопрос про классы 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 шт):
Например,
vect2 = Vector2(120,5);— если, конечно, конструктор и оператор присвоения написаны корректно. В вашем случае используется оператор, сгенерированный компилятором, но для данной операции его достаточно.Написать свою функцию, принимающую вектор. Или передавать значения из вектора как отдельные аргументы (типа,
Vector2 v(120, 5); obj.Position(v.X, v.Y);)
Замечу вскользь, что код
int Vector2::GetVector2()
{
return X, Y;
}
возвращает только одно значение — Y (см. "оператор "запятая"").