Описание проблемы: Я пытаюсь создать большой целочисленный класс, используя перегрузку оператора, и я считаю, что пока это так хорошо, но я продолжаю получать эту ошибку при попытке скомпилировать. Любая идея, что может быть проблемой? Это не дает мне ошибку для ввода, только выход.bigint Оператор перегрузки
Ошибка: неопределенная ссылка на `BIGINT :: ToString() сопзИте»
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
using 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 this
bigint & 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
Где ваша реализация tostring? –
Я не вижу реализации tostring(). – user1810087
Возможно, вы могли бы предоставить минимальный рабочий пример, в котором возникает проблема, удалить все, что вам не нужно (например, не используемые конструкторы, не используемые операторы и т. Д.). –