C ++: ввод оператора ComplexNumber (мнимой и действительной части) снова ComplexNumber и т. Д. - PullRequest
0 голосов
/ 17 апреля 2020

У меня проблемы, мне нужно написать программу с двумя классами 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;
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...