English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

#include
class Factorial
{
static int result;
public:
static void product(int num);
};
int Factorial::result=1;
void Factorial::product(int num)
{
for(int i=1;i<=num;i++)
{
result=result*i;
cout< }
}

int main()
{
Factorial A;
int max_number;
cout<<"請輸入一個數字:";
cin>>max_number;
product (max_number);

return 0;
}

這是課本的範例~
可是有個錯誤我找不出來~
還有~它在主程式裡面的Factorial A;
的用處是什麼阿?

2005-08-15 11:29:50 · 3 個解答 · 發問者 WadeHsu 1 in 電腦與網際網路 程式設計

3 個解答

Factoria A //把類別Factoria物件化,名為A,意思是宣告物件A為Factoria的類別
而product(max_number)//應該改成A.product(max_number)吧…
試試看。

2005-08-15 11:53:16 · answer #1 · answered by 上官 5 · 0 0

因為 Factorial::product 是static member function 所以可以這樣用
Factorial::product(max_number);

note: 只有static member 可在沒有認何一個class instance下使用.

2005-08-15 14:09:29 · answer #2 · answered by SiYu 5 · 0 0

在下幫您找出錯誤了,有些地方也幫您改好了,不過在下用的編譯器是DevC++,不知道您是否也是用此編譯器呢?
Factorial A;----->此行為建立類別用,這個程式是計算階層函數用(n!)
-----------------------程式開始--------------------
#include
#include
#include
class Factorial
{
static int result;
public:
static void product(int num);
};

int Factorial::result=1;
void Factorial::product(int num)
{
for(int i=1;i<=num;i++)
{
result=result*i;
printf("%s","i!=");
printf("%d",result);
printf("\n");
}
}
using namespace std;

int main(int argc, char *argv[])
{
Factorial A;
int max_number;
cout<<"請輸入一個數字:";
cin>>max_number;
A.product(max_number); --->您原本的程式少了A.

system("PAUSE");
return 0;
}
-----------------------程式結束--------------------

2005-08-15 11:58:58 · answer #3 · answered by ? 6 · 0 0

fedest.com, questions and answers