Это вопрос о тишине. Реализация класса LargeInt
будет использовать динамическую физическую структуру для хранения отдельных цифр целого числа и предоставит некоторые основные операции ввода-вывода и арифметические операции, которые могут выполняться для целых чисел.Это программа на C++, о добавлении двух чисел
В частности, класс должен включать в себя:
- конструктора по умолчанию
- Функция оператора перегрузка функции
operator +
- оператора перегрузки функции
operator ==
- оператора перегружать
operator <<
- Операторская функция для перегрузки
operator >>
Примечание 1: поскольку класс LargeInt
не содержит указателей, нет необходимости в конструкторе копирования или деструкторе.
#include "targetver.h"
using namespace std;
class LargeInt
{
private:
char datain[200];
int databit[200];
int len;
int overflow;
LargeInt(char *x, int inlen)
{
int i = 0;
int j = inlen - 1;
len = inlen;
overflow = 0;
for (i = 0; i < 200; i++)
{
databit[i] = 0;
datain[i] = '\0';
}
for (i = 0; i < len; i++)
{
datain[i] = x[j];
j--;
}
}
~LargeInt();
void GetDataBit()
{
int i = 0;
for (i; i < len; i++)
databit[i] = datain[i] - 48;
}
public:
LargeInt& operator+(LargeInt& data);
bool operator==(LargeInt& data);
LargeInt& operator>>(int x);
LargeInt& operator<<(int x);
};
bool LargeInt::operator==(LargeInt& data)
{
if (this->len != data.len)
return false;
else
{
for (int i = 0; i < 200; i++)
{
if (this->databit[i] == data.databit[i])
continue;
else
return false;
}
return true;
}
}
LargeInt& LargeInt::operator+(LargeInt& data)
{
LargeInt t("0", 0);
int addlen;
if (this->len > data.len)
addlen = this->len;
else
addlen = data.len;
for (int i = 0; i < addlen; i--)
{
t.databit[i] = (data.databit[i] + this->databit[i] + t.overflow) % 10;
if ((data.databit[i] + this->databit[i] + t.overflow) >= 10)
t.overflow = 1;
}
t.len = addlen;
for (int i = 0; i < addlen; i++)
{
t.datain[i] = t.databit[i] + 48;
}
return t;
}
, когда я строю, он имеет ошибку, как этот
Предупреждение 1 предупреждения C4172: обратный адрес локальной переменной или временным.
Пожалуйста, прочитайте/попробуйте отформатировать вопрос. BTW - Что такое тихий вопрос? –
это может быть Конкретный :-P – Sathish
@Sathish Это _ "специфический тихий" _ ?? :-P ... –