return0;
}
Key:
fWidth(Width)CShape(Width,Height)returnfWidth*fHeight/2
CShape(Width,Height)returnfWidth*fHeight
五、用面向对象方法设计一个阶乘类CFactorial,在CFactorial类的构造函数CFactorial(longInteger)中,将Integer的值赋给nInteger;在主函数int_tmain(),键盘输入任一整数Integer,以Integer的值为实际参数构造一个阶乘对象Factorial,调用对象Factorial的相应成员函数输出nInteger的阶乘值fFactorial。
完成以下函数的代码设计:
(1)、设计构造函数CFactorial(longInteger),求出nInteger的阶乘值fFactorial。
若nInteger没有阶乘值,则fFactorial赋值为0。
(2)、设计CFactorial类的成员函数voidPrint(void),输出nInteger的阶乘值fFactorial。
若nInteger没有阶乘,则输出nInteger没有阶乘的信息。
#include
usingnamespacestd;
classCFactorial
{
public:
CFactorial(longInteger);
protected:
longnInteger;
floatfFactorial;
public:
voidPrint(void);
};
CFactorial:
:
CFactorial(longInteger)
:
nInteger(Integer)
{
//作答处
}
voidCFactorial:
:
Print(void)
{
//作答处
}
int_tmain()
{
longInteger;
cout<<"Enterainteger:
";
cin>>Integer;
CFactorialFactorial(Integer);
Factorial.Print();
return0;
}
Key:
解:
参考程序:
#include
usingnamespacestd;
classCFactorial
{
public:
CFactorial(longInteger);
protected:
longnInteger;
floatfFactorial;
public:
voidPrint(void);
};
CFactorial:
:
CFactorial(longInteger)
:
nInteger(Integer)
{
if(nInteger<0)//1分
fFactorial=0;//1分
else//1分
{
fFactorial=1;//1分
while(Integer>1)//1分
{
fFactorial*=Integer;//1分
Integer--;//1分
}
}
}
voidCFactorial:
:
Print(void)
{
if(fFactorial)//0.5分
cout<<"Thefactorialof"<//1分
else//0.5分
cout<<"Thereisnotanyfactorialfor"<}
int_tmain()
{
longInteger;
cout<<"Enterainteger:
";
cin>>Integer;
CFactorialFactorial(Integer);
Factorial.Print();
return0;
}