Предмет: Информатика, автор: iiigor

50 БАЛЛОВ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
нужно исправить программу перегрузки оператора =
#include
#include

using namespace std;

struct Vector2
{
int x, y, z;
Vector2()
{}

Vector2(int x, int y, int z): x(x), y(y), z(z)
{}
Vector2 operator = ( const Vector2 &v2)
{
return Vector2(this->x=v2.x,this->y=v2.y,this->z=0);
}
std::string ToString()
{
std::stringstream s;
s <<"(" << this->x << "," << this->y <<"," << this->z << ")";
return s.str();
}
};
int main2()
{
Vector2 v2(4, 5 ,6);
Vector2 v3;

v3=v2;
cout << v3.ToString();
}

Ответы

Автор ответа: clinteastwood2
1
Вы сами это пишите или что это за Q&A?

Vector2 &operator=(const Vector2 &v2)
{
    this->x = v2.x, this->y = v2.y, this->z = v2.z;
    return *this;
}

clinteastwood2: что не работает?
iiigor: с заменой куска программы вашим программа все равно не запускается
clinteastwood2: откуда я знаю что вы делаете.. у меня все работает..
clinteastwood2: впрочем она и до этого запускалась, просто не верно выводило.
iiigor: /usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
iiigor: вот что мне выводится
iiigor: полный текст должен быть таким?#include
#include

using namespace std;

struct Vector2
{
int x, y, z;
Vector2()
{}

Vector2(int x, int y, int z): x(x), y(y), z(z)
{}
Vector2 &operator=(const Vector2 &v2)
{
this->x = v2.x, this->y = v2.y, this->z = v2.z;
return *this;
}
std::string ToString()
{
std::stringstream s;
s <<"(" << this->x << "," << this->y <<"," << this->z << ")";
return s.str();
}
};
int main2()
{
Vector2 v1(1, 2, 3);
Vector2 v2(4, 5 ,6);
Vector2 v3;

v3=v2;
cout << v3.ToString();
}
clinteastwood2: int main2() - это вообще что?
iiigor: приношу извинения, все работает, просто я сбрасывал кусок большой программы где было много операторов и я переобозначал main2,main3 и так далее
clinteastwood2: не делайте так лучше
Похожие вопросы
Предмет: Геометрия, автор: arinamartinova2007
Предмет: Биология, автор: алялисичкина2047