PDA

نسخه کامل مشاهده نسخه کامل : خطا در استفاده از کلاسها



HSSO4
14-07-2010, 23:03
بسم تعالی سلام دوستان من یک برنامه با چند کلاس نوشتم ولی وقتی اجراش میکنم پشته سر ریز میشه و خطا رخ می ده ممکن بنده رو راهنمایی کنید.

Open-Source
15-07-2010, 09:04
خوب چه خطایی میده.
خوب نمونه برنامه ات رو بزار.
خوب همین جوری که نمیشه نظر داد.
خوب ...

HSSO4
17-07-2010, 19:10
بسم تعالی

چشم ، فقط به من نخندید

# include <iostream>
# include <cstdlib>
# define SIZE 10000;
using namespace std;
int n;
class Fact
{
friend Fact operator *(const Fact&,const Fact&);
friend ostream & operator << (ostream & output,const Fact & num);
public:
int num,m;
Fact& operator =(const Fact&);
Fact& operator *=(const Fact&);
Fact operator ++();
Fact()
{
num=n;
}
Fact (int n)
{
num=n;
}

void print(const Fact & x)
{
cout<<num;
}
Fact (const Fact&)
{
num=n;
}
Fact factor();
private:
int integer[];
};
Fact operator *(const Fact &x, const Fact &y)
{
Fact z(x.num*y.num);
return z;
}
Fact & Fact :: operator *=(const Fact &x)
{
num=num*x.num;
return *this;
}
Fact &Fact::operator=( const Fact &x )
{
for(int i=0;i<n;i++)
{
integer[i]=x.integer[i];
}
num=x.num;
return *this;
}
Fact Fact :: operator ++()
{
num+=1;
return *this;
}
ostream & operator << (ostream & output, const Fact & num)
{
output<<num;
return output;
}
Fact Fact ::factor()
{
Fact factor (1);
for( int i=1;i<=n;++i)
{
factor=factor*i;
}
return factor;
}
int main()
{
Fact x(n),y(1),z();
cout<<"Please Enter A Number : ";
cin>>n;
if (n==1 || n==0)
cout<<"Factorial "<<n <<"="<<1;
else
if (n<0)
{
cout<<"Error ( Number Is Incorrect )"<<endl;
exit (1);
}
for (int i=1;i<=n;++i)
{
x*=++y;
}
cout<<x.num;
cout<<x.factor();

return 0;
}

این برنامه روی یک کال گیر میکند و کال هی خودش را فراخوانی می کند .
با تشکر