C++编程问题。。。。

编一程序,用类实现求5!的值(要求使用构造函数、析造函数)。

#include <iostream>  

using namespace std;    

class MyClass

{  //这里定义些函数和变量,函数可以是申明,也可以是实现

    public:  

    MyClass()  

    { 

cout<<"构造函数"<<endl;

//构造函数

    }

    ~MyClass();

    int function(int a);  

};

MyClass::~MyClass(){

cout<<"外部实现析构函数"<<endl;

}

//外部实现阶乘运算函数,返回a!

int MyClass::function(int a)  

{  

    int rs=0;

    if(a>=1){

rs=1;

for(int i=1;i<=a;i++){

rs*=i;

  } 

    }

    return rs;

}

void main()  

{

    MyClass a;  

    int test=5;

    cout<<a.function(test)<<endl;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-01
#include <iostream>
using namespace std;

class factorial
{
int m_nNum;
public:
factorial():m_nNum(1){}
factorial(int num):m_nNum(num){}
void setNum(int num){m_nNum = num;}
long CalFactorial()
{
long n = 1;
int i;
for(i = 1; i <= m_nNum; i++)
n *= i;
return n;
}
int GetNum(){return m_nNum;}
~factorial(){cout<<GetNum()<<"的阶乘为:"<<""<<CalFactorial()<<endl;}
};

void main()
{
factorial fa(5);
}
第2个回答  2011-06-01
#include<iostream>
using namespace std;

class Factorial
{
public:
Factorial(int x){n = x;}
~Factorial(){};
int Calculate()
{
int ans = 1;
for(int i = 2; i <= n; i++)
ans *= i;
return ans;
}
public:
int n;
};

int main()
{
int x;
printf("请输入x的值:");
scanf("%d", &x);

class Factorial fac(x);
int result = fac.Calculate();

printf("%d\n", result);

return 0;
}

好久不写类了,还有点生疏呢。。希望能看懂。加油学习吧
第3个回答  2011-06-01
class ff{
int mN;
int result;
public:
int getResult()const {return result;}
ff(int n){ do(n);}
int do(int n){
mN = n;
result =1;
for(int i=2;i<n;i++) result *=i;
return result;
}
~ff(){};
};

main()
{
ff x(5);
printf("result 5!=%d",xx.getResult());
}
相似回答