W skryptach, które mam znalazłem tylko przeciążenie <<
które nie wiem czy nawet prawidłowo działa. Nie mam żadnego podobnego zadania do tego i w dalszym ciągu jestem w szarej d...
#include <iostream>
#include <cstring>
using namespace std;
class Liczba{
private:
int *tab;
int n;
int lc;
public:
Liczba ();
~Liczba();
string liczba;
void wypisz(int *tab, int n);
void tablica(int n){
tab = new int[n];
}
Liczba operator+(Liczba&);
friend ostream& operator<<(ostream&,Liczba&);
};
Liczba::Liczba(){
for (int i=0; i<liczba.length(); i++) {
tab[i] = liczba[i] - '0';
}
cout<<"Podaj liczbe: ";
cin>>liczba;
n=liczba.length();
}
Liczba::~Liczba(){
delete[] tab;
}
void Liczba::wypisz(int tab[], int n){
for(int i=0; i<n; i++){
cout<<tab[i];
}
cout << endl;
}
int main()
{
Liczba x;
cout<<x;
}
Liczba Liczba::operator+(Liczba&x){
Liczba w;
int i=0, p=0, d;
while(i<lc||i<x.lc){
d=x.tab[100-1-i]+tab[100-1-i]+p;
w.tab[100-1-i]=d%10;
p=d/10;
i++;
}
w.lc=i;
return w;
}
ostream& operator<<(ostream&out, Liczba&x){
if(x.lc){
for(int i=0; i<x.lc; i++){
out<<(int)x.tab[100-x.lc+i];
}
}
else{
out<<0;
}
return out;
}