У меня есть класс Vectors
, который имеет частный динамический массив. Все, что я хотел сделать, это добавить два объекта Vectors
, таких как A = A + B, но программа продолжает сбой.Добавление двух векторов с использованием перегрузки оператора
Это заявление моего класса:
class Vectors
{
private:
int* vector;
public:
Vectors(int);
Vectors(Vectors&);
~Vectors();
Vectors operator+(Vectors&);
};
Это моя реализация:
#include "Vectors.h"
#include "iostream"
using namespace std;
Vectors::Vectors(int value)
{
this->vector = new int[3];
for (auto i = 0; i < 3; i++)
{
vector[i] = 3;
}
}
Vectors::Vectors(Vectorsy& copy)
{
this->vector = new int[3];
for (auto i = 0; i < 3; i++)
{
vector[i] = copy.vector[i];
}
}
Vectors::~Vectors()
{
delete[] vector;
}
Vectors Vectors::operator+(Vectors& obj) // There is sth wrong here.
{
for (auto i = 0; i < 3; i++)
this->vector[i] += obj.vector[i];
return *this;
}
Это ошибка, я получаю:
Убедитесь включить ошибку ваш компилятор дает вам –
@LucasSaldyt done –