Перегрузка оператора bigint

Описание проблемы:
Я пытаюсь создать большой целочисленный класс, используя перегрузку операторов, и я считаю, что пока все хорошо, но я продолжаю получать эту ошибку, когда пытаюсь скомпилировать. Есть идеи, в чем может быть проблема? Это не дает мне ошибку для ввода, только вывод.

Ошибка: неопределенная ссылка на `bigint :: tostring () const ‘

#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDEDusing namespace std;

class bigint{

public:
bigint(); //default constructor - set this to zero
bigint(int x0);
bigint(int x0, int x1);
bigint(int x0, int x1, int x2);
bigint(int x0, int x1, int x2, int x3);
bigint(int x0, int x1, int x2, int x3, int x4);
string tostring() const;private:
int v[5];
};

ostream& operator <<(ostream & out, const bigint outpt){
out << outpt.tostring();
return out;
}istream& operator >>(istream & in, const bigint& inpt){
return in;
} //need to fix thisbigint & operator +(const bigint & ls, const bigint & rs) {
return bigint(ls) + rs;
}//addition operator

bigint & operator -(const bigint & ls, const bigint & rs){
return bigint(ls) - rs;
} //subtraction operator

bool operator <(const bigint & ls, const bigint rs){
return bigint(ls) < rs;
} //use bool because these values can only be true or false

bool operator >(const bigint & ls, const bigint rs){
return bigint(ls) > rs;
}

bool operator >=(const bigint & ls, const bigint rs){
return bigint(ls) >= rs;
}

bool operator <=(const bigint & ls, const bigint rs){
return bigint(ls) <= rs;
}

bool operator ==(const bigint & ls, const bigint rs){
return bigint(ls) == rs;
}

bool operator !=(const bigint & ls, const bigint rs){
return bigint(ls) != rs;
}#endif // HEADER_H_INCLUDED

1

Решение

Я не вижу вашей реализации tostring() закодированы. Вы должны написать свою собственную реализацию tostring(),

Функция получит число, преобразует его в строку и возвращает строку. Ты можешь использовать stream, itoa или же sprintf,

Если есть какой нибудь tostring() метод в другом месте, проверьте, что S «строки», безусловно, будет в верхнем регистре, а не в нижнем регистре (toString()).

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]