Всі лабараторні роботи з ООП за 1-й курс (ЖДТУ)
6

}

 

Chislo::Chislo(string arr)

{

size = arr.length();

number = new int[size];

for (int i = 0; i < size; i++)

{

number[i] = arr[i] - '0';

}

}

 

Chislo::Chislo(unsigned long long chisl)

{

stringstream tmp;

tmp << chisl;

string arr;

tmp >> arr;

size = arr.length();

number = new int[size];

for (int i = 0; i < size; i++)

number[i] = arr[i] - '0';

}

 

Chislo::~Chislo()

{

delete number;

}

 

char* Chislo::ToString()const

{

char* rez=new char[size+1];

for (int i = 0; i < size; i++)

rez[i] = number[i] + '0';

rez[size] = '\0';

return  rez;

}

 

void Chislo::Print()const

{

for (int i = 0; i < size; i++)

cout << number[i];

cout << endl;

}

 

 

void Chislo::operator=(const Chislo& in)

{

size = in.size;

number = new int[size];

memcpy(number, in.number, size*sizeof(int));

}

 

Chislo Chislo::operator-()const

{

int *rez = new int[size];

memcpy(rez, number, size * 4);

rez[0] = -rez[0];

return Chislo(size,rez);

}

 

Chislo Chislo::operator+=(Chislo& tmp)

{

Normalize(tmp);

mas = new int[size + 1];