У меня проблемы, мне нужно написать программу с двумя классами ComplexNumber и Equation, в классе Equation мне нужно перегрузить оператор >>
. Теперь они хотят перегрузить его следующим образом: сначала мы вводим REAL, затем IMAGINARY, затем operator и снова ComplexNumber с этими атрибутами, и прекращаем ввод, когда мы вводим =
char, поэтому я запутался здесь и мне нужна ваша помощь, как я могу сделать это?
Вот мой класс уравнения
class Equation{
private:
ComplexNumber *cns;
char *operatori;
int len=0;
public:
Equation(ComplexNumber *cns=0,char *operatori=0)
{
this->len=len;
this->cns = new ComplexNumber[len];
for (int i=0;i<len;i++)
{
this->cns[i]=cns[i];
}
this->operatori = new char [strlen(operatori)+1];
strcpy(this->operatori,operatori);
}
Equation (const Equation &e)
{
this->len=e.len;
this->cns = new ComplexNumber[e.len];
for (int i=0;i<len;i++)
{
this->cns[i]=e.cns[i];
}
this->operatori = new char [strlen(e.operatori)+1];
strcpy(this->operatori,e.operatori);
}
Equation &operator =( Equation &e)
{
if (this != &e)
{
delete [] cns;
delete [] operatori;
this->len=e.len;
this->cns = new ComplexNumber[e.len];
for (int i=0;i<len;i++)
{
this->cns[i]=e.cns[i];
}
this->operatori = new char [strlen(e.operatori)+1];
strcpy(this->operatori,e.operatori);
}
return *this;
}