اين كد رو چي كارش كنم درست بشه؟؟؟
سلام
دوستان كد زير كد كلاس اعداد بزرگ هست كه چند operator جديد از جمله + بهش اضافه كردم ولي نمي دونم چرا برنامه درست كار نمي كنه خيلي هم روش كار كردم و حتي يك operator قدرتمند + هم واسش نوشتم ولي مثل اينكه مشكل اين كد يه چيز ديگه بود اونو حذف كردم اين يكي رو گذاشتم نكنه برطرف بشه ولي نشد.
در ضمن وقتي هم برنامه اجرا ميشه يك پيغام از طرف ويندوز مياد و ميگه به علت وجود يك مشكل مي بايست برنامه بسته شود كه اين يكي هم نمي دونم واسه چي هست لطفا در حل اين دو مشكل كمكم كنيد.:11:
کد:
#include <iostream>
using namespace std;
typedef int UI;
class Int
{
public:
Int():itsBigNumber(0){}
Int(char*);
~Int();
Int operator = (Int rhs);
UI operator [] (int offset) { return itsBigNumber[offset]; }
UI* GetInt() const { return itsBigNumber; }
Int* operator + (Int rhs);
friend ostream operator <<(ostream os,Int* big)
{
for(int i=0;i<big->itsTemp;i++)
os <<(big->GetInt())[i];
return os;
}
private:
UI* itsBigNumber;
int itsTemp;
};
Int::Int(char* big)
{
int itsLen = itsTemp = strlen(big);
itsBigNumber = new UI[itsLen];
for(int i=0;i<itsLen;i++)
itsBigNumber[i] = big[i]-'0';
}
Int Int::operator = (Int rhs)
{
if(this == &rhs)
return *this;
delete [] itsBigNumber;
itsBigNumber = new UI[rhs.itsTemp];
for(int i=0;i<rhs.itsTemp;i++)
itsBigNumber[i] = rhs[i];
return *this;
}
Int* Int::operator + (Int num)
{
for(int i = num.itsTemp;i <= num.itsTemp;i--)
for(int j = this->itsTemp;j <= this->itsTemp;j--)
{
this->itsBigNumber[j] = this->itsBigNumber[j] + num.itsBigNumber[i];
}
return this;
}
Int::~Int()
{
delete [] itsBigNumber;
itsBigNumber = 0;
}
int main()
{
char one[20000];
cout <<"enter your number:";
cin.getline(one,19999);
char two[20000];
cout <<"\nEnter two:";
cin.getline(two,19999);
Int One = one;
Int Two = two;
cout <<(One + Two);
return 0;
}